안녕하세요 ㅠㅠㅠ 자바초보 입니다
제가 아래와 같은 코드를 적었는데요..
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가 되나요??? ㅠㅠㅠㅠㅠ
작동이 되긴 하니까 기쁘긴 한데 정말 화납니다 ㅠㅠㅠ