어디가 잘못됐는지 모르겠어요

sdseon21 Reply 5 years 2 weeks ago
Exception in thread "main" java.lang.ArithmeticException: / by zero at Main.main(Main.java:19) 이런 빨간색 문구가 뜨는데 의미가 뭘까요.. 어디에서 코딩이 틀린건지 모르겠습니다.
withcs2 Reply 5 years 2 weeks ago
/ by zero는 0으로 나눠서 에러가 발생했다는 의미입니다. 나누는 값이 0이 되는 이유는 int형의 overflow 때문입니다. 1 ÷ (1 × 2 × 3 × ... ) = 1 ÷ 2 ÷ 3 ÷ ... 임을 활용하여 계산 방식을 바꿔보세요 int 자료형은 바이트 수가 정해져있습니다. 즉, 최댓값, 최솟값이 정해져있어요. overflow란 값이 자료형의 최대/최소 범위를 넘어가서 쓰레기 값이 나오는 경우를 의미합니다. 혹여나 최대/최소 값이 궁금하다면 System.out.println(Integer.MAX_VALUE); System.out.println(Integer.MIN_VALUE); 한번 실행해보세요
withcs2 Reply 5 years 2 weeks ago
참고로 while (count<N){ count++; } 이 코드는 while (count++<N){ } 이렇게 줄여 쓸 수 있어요