프로젝트 공부

(TIL) scanner의 오류

jojelly 2020. 7. 16. 18:29
반응형

어제 배운 scanner에서

 nextInt() 나 nextFloat()  같이 변환 없이

숫자로 바로 입력받을 수 있는 메서드들이 있으며(EX) int num = scanner.nextlnt())

아래의 예제와 같은 메서드를 사용하면 문자열을 숫자로 변환하지 않아도 된다고 하였다.

그러나 이와 같이 사용할 경우 오류가 생길 수 있다 하였는데, 오늘은 이 오류가 생기는 경우의 예를 들여보겠다.

 

다음 코드를 보자 scanner를 사용하여 첫 번째 정수, 첫 번째 문자열, 두 번째 정수, 두 번째 문자열을 입력하도록 했다,

이때 정수(sc.nextInt)와 문자열(sc.nextLine)을 번갈아 입력했다.

 

 

그 결과 첫 번째 문자열의 값이 나오지 않았다. 

그 이유는 첫 번째 정수를 입력할 당시 눌렀던 Enter가  첫번째 문자열 입력으로 인식했기 때문이다. 

이러한 오류 때문에 형 변환을 사용한다. 

반응형