다음은 Scanner 프로그램을 구현하다 발견한 오류이다.
두가지 해결 방법을 찾았다.
오류 코드 예시:

오류 원인 :
Scanner.nextInt() 메소드가 사용자가 입력한 enter(개행문자) 를 제거하지 않기 때문이다.
사용자는 콘솔창에 숫자입력 후 enter를 누르는데,
이때 nextInt() 가 숫자는 입력받고, 개행문자는 제거하지않은 채 그대로 남겨둔다.
남겨진 개행문자가 다음 scan.nextLine() 의 입력으로 처리되어
곧바로 개행되고, 위와같이 출력된다.
오류 해결 방법 :
해결방법 1 - scan.nextInt 후 scan.nextLine() 하기 전, scan.nextLine() 을 한번 더 작성하여 개행문자 제거

해결방법 2 - scan.nextLine() 로 읽어들인 후 Integer.parseInt()

'Java > Standard' 카테고리의 다른 글
break 와 continue의 차이 (2) | 2020.06.20 |
---|---|
BufferedReader의 readLine() 은 왜 throws Exception 해주어야할까? (2) | 2020.06.19 |
반복문 : while 과 do~while (0) | 2020.06.18 |
반복문 완전 기초 이해하기 : for문 (0) | 2020.06.18 |
2진수,8진수,16진수의 모든것 (17) | 2020.06.16 |
다음은 Scanner 프로그램을 구현하다 발견한 오류이다.
두가지 해결 방법을 찾았다.
오류 코드 예시:

오류 원인 :
Scanner.nextInt() 메소드가 사용자가 입력한 enter(개행문자) 를 제거하지 않기 때문이다.
사용자는 콘솔창에 숫자입력 후 enter를 누르는데,
이때 nextInt() 가 숫자는 입력받고, 개행문자는 제거하지않은 채 그대로 남겨둔다.
남겨진 개행문자가 다음 scan.nextLine() 의 입력으로 처리되어
곧바로 개행되고, 위와같이 출력된다.
오류 해결 방법 :
해결방법 1 - scan.nextInt 후 scan.nextLine() 하기 전, scan.nextLine() 을 한번 더 작성하여 개행문자 제거

해결방법 2 - scan.nextLine() 로 읽어들인 후 Integer.parseInt()

'Java > Standard' 카테고리의 다른 글
break 와 continue의 차이 (2) | 2020.06.20 |
---|---|
BufferedReader의 readLine() 은 왜 throws Exception 해주어야할까? (2) | 2020.06.19 |
반복문 : while 과 do~while (0) | 2020.06.18 |
반복문 완전 기초 이해하기 : for문 (0) | 2020.06.18 |
2진수,8진수,16진수의 모든것 (17) | 2020.06.16 |