jjhhyper   4년 전

다른 반례들도 맞는데 런타임에러가 자꾸나네요

원인이 뭔지 알려주시면 감사하겠습니다.!

jjhhyper   4년 전

구글링 해보니까 class선언 순서?에 연관되어있을까 싶어서

메소드로 구분하지 않고 main에 다 넣었더니 실행이되네요

런타임에러나는 분 참고하세요~

isku   4년 전

Scanner를 통해 입력을 받을 때 에러가 난것입니다.

첫번째 소스에는 nextInt() 이후에 nextLine()을 하고 있고,

두번째 소스에서는 nextInt() 이후에 next()를 하고 있습니다.

아마 이와 관련된 부분은 검색해보시면 많은 정보를 얻을 수 있으실테고,


간단하게 설명 드리면 nextInt()나 next()는 공백이나 줄바꿈을 포함하지 않는 반면에

nextLine은 줄바꿈이 있을 때까지 읽어들입니다.

즉 문제에서 nextInt() 이후에 줄바꿈이 있는데 nextLine()을 호출하면 nextInt()가 줄바꿈 문자를 읽어들이지 않았기 때문에

nextLine() 함수가 줄바꿈 까지만 읽어들이고 다음을 실행해서 문자열을 읽어들이는 개수가 의도한 부분보다 적어지기 때문에

입력을 전체를 받지 못하여 런타임에러가 난 것입니다.

jjhhyper   4년 전

답변감사드립니다.

괄호문제의 질문과 답변주에서 문자열 입력에관한 런타임에러가 있어서 저도 그 문제인가 싶어

첫번째 소스에서도 nextLine()도해보고 next() 해봤습니다.

그런데  둘다 런타임에러가 뜨더군요 ㅜㅜ

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