wcsjinb   2년 전

while((str = br.readLine()) != null) 이 부분에서 해당 오류가 납니다. list를 Integer로 하면 또 이런 오류 메세지 없이 출력자체가 안됩니다.

Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.base/java.lang.Integer.parseInt(Integer.java:662)
at java.base/java.lang.Integer.parseInt(Integer.java:770)
at Main.main(Main.java:12)

다른 문제 풀때는 잘 됐는데 여기서는 뭐 때문에 오류가 나는지 모르겠습니다 .고수님들 조언 부탁드립니다.

djm03178   2년 전

입력을 다 한 뒤에 마지막에 그냥 엔터를 치면 말 그대로 "빈 문자열"이 반환됩니다. 빈 문자열은 null과는 다르기 때문에 조건에 걸리지 않고 루프에 들어가며, 빈 문자열은 integer.parseInt로 파싱할 수 없기 때문에 해당 예외가 발생합니다.

EOF를 입력하는 방법은 따로 있습니다. 사용하시는 환경에서 어떻게 EOF를 입력해줘야 하는지 검색해 보세요.

댓글을 작성하려면 로그인해야 합니다.