문자열 입력을 읽고 타입 변환 실패를 이해합니다.
Scanner는 입력을 토큰이나 줄 단위로 읽습니다. 웹 실습에서는 반복 가능한 실행을 위해 문자열을 입력 원본으로 사용하지만 터미널에서는 new Scanner(System.in)을 사용합니다.
Scanner는 기본으로 공백을 구분자로 써서 민수 88을 두 토큰으로 나눕니다. next()가 첫 토큰 민수를 문자열로, nextInt()가 두 번째 토큰을 정수 88로 읽어 민수: 88을 출력합니다. 토큰이 정수가 아닐 수 있다면 읽기 전에 hasNextInt()로 확인해 예외 없이 다른 처리로 보낼 수 있습니다.
nextInt 뒤 nextLine을 바로 호출하면 남은 줄바꿈을 읽을 수 있습니다. 줄 단위로 읽은 뒤 명시적으로 변환하는 방식이 흐름을 이해하기 쉽습니다.
외부 입력은 길이, 형식, 범위를 검증하고 Scanner처럼 닫아야 하는 자원은 try-with-resources로 관리합니다.
숫자가 아닌 값을 nextInt로 읽으면 InputMismatchException이 발생합니다.
직접 바꿔보세요이름과 점수를 읽어 합격 여부를 출력하세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.