- Scanner 클래스를 사용하려면, 아래의 한 문장을 추가해줘야 한다.
import java.util.*; // Scanner 클래스를 사용하기 위해 추가
- 그 다음엔 Scanner 클래스의 객체를 생성한다.
Scanner scanner = new Scanner(System.in); // Scanner 클래스의 객체를 생성
- 그리고 nextLine()이라는 메서드를 호출하면, 입력대기 상태에 있다가 입력을 마치고 '엔터키(Enter)'를 누르면 입력한 내용이 문자열로 반환된다.
String input = scanner.nextLine(); // 입력받은 내용을 input에 저장
int num = Integer.parseInt(input); // 입력받은 내용을 int타입의 값으로 변환
- 만일 입력받은 문자열을 숫자로 변환하려면, Integer.parseInt()라는 메서드를 이용해야한다.
- 이 메서드는 문자열을 int타입의 정수로 변환한다.
- 만일 문자열을 float타입의 값으로 변환하길 원하면, Float.parseFloat()를 사용해야한다.
- 사실 Scanner클래스에는 nextInt()나 nextFloat()와 같이 변환없이 숫자로 바로 입력받을 수 있는 메서드들이 있고, 이 메서드들을 사용하면 문자열을 숫자로 변환하는 수고는 하지 않아도 된다.
int num = scanner.nextInt(); // 정수를 입력받아서 변수 num에 저장
- 그러나 이 메서드들은 화면에서 연속적으로 값을 입력받아서 사용하기에 까다롭다.
- 차라리 모든 값을 nextLine()으로 입력받아서 적절히 변환하는 것이 더 낫다.
- 만일 숫자가 아닌 문자 또는 기호를 입력하면, 입력 받은 문자열을 숫자로 변환하는 과정인 Integer.parseInt()에서 에러가 발생한다. 특히 공백을 입력하지 않도록 주의하자.