게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
java) 왜 double 에 int를 대입하면 왜 int가 나오나요 ㅜ
게시물ID : programmer_16622짧은주소 복사하기
작성자 : 빙티
추천 : 0
조회수 : 507회
댓글수 : 3개
등록시간 : 2016/04/09 16:31:38
옵션
  • 본인삭제금지
안녕하세요 ㅠㅠㅠ 자바초보 입니다

제가 아래와 같은 코드를 적었는데요..

Log.d("TEST", s.length()+" / "+totalWriteNum);  //  11/15
typo_ratio = ((totalWriteNum-s.length())/(totalWriteNum - 1)); //이게 왜 0으로 나오지?

진짜 바로 위의 줄의 log창까지 잘 나오던 애가
갑자기 다음 줄에서 typo_ratio 가 계속 0이 나옵니다.ㅠㅠㅠㅠ
물론 totalWriteNum과 s.length() 는 둘다 int 입니다.

이걸 갖고 한시간을 붇들고 날리를 치다가
결국엔 아래처럼 했더니

typo_ratio = (((double)totalWriteNum-(double)s.length())/((double)totalWriteNum - 1));

이제 잘 됩니다.

이전에 쓰던 언어는 그냥 위에처럼 해도, 대입하려는 대상의 종류에 따라 자동으로 int를 형변환 해서 대입해 주는데
자바는 왜 그냥 대입하려는 대상에 맞추지 않고 대입하는 객체에 맞춰 int가 되나요??? ㅠㅠㅠㅠㅠ

작동이 되긴 하니까 기쁘긴 한데 정말 화납니다 ㅠㅠㅠ
꼬릿말 보기
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호