자바에서 사용자 입력을 받기 위해 주로 java.util.Scanner 클래스를 사용합니다. Scanner 클래스는 다양한 메서드를 제공하여 다양한 데이터 타입의 입력을 처리할 수 있습니다.
A. Scanner 클래스 사용하기
1. Scanner 객체 생성
System.in을 매개변수로 사용하여 Scanner 객체를 생성합니다. 이렇게 하면 키보드 입력을 처리할 수 있습니다.
Scanner scanner = new Scanner(System.in);
2. 메서드를 사용하여 입력 받기
- nextLine() : 문자열 입력 받기
- nextInt() : 정수 입력 받기
- nextDouble() : double 값 입력 받기
- next() : 다음 토큰/단어 입력 받기
- nextBoolean() : boolean 값 입력 받기
public class InputExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter your name: ");
String name = scanner.nextLine();
System.out.print("Enter your age: ");
int age = scanner.nextInt();
System.out.print("Enter your weight: ");
double weight = scanner.nextDouble();
System.out.printf("Hello, %s! You are %d years old and your weight is %.2f kg.%n", name, age, weight);
scanner.close();
}
}
B. 주의사항
1. nextInt(), nextDouble() 등의 메서드는 줄바꿈 문자를 소비하지 않습니다. 따라서 이러한 메서드 호출 후에 nextLine()을 호출하려면 한 번 더 nextLine()을 호출하여 줄바꿈 문자를 소비해야 할 수 있습니다.
2. Scanner 객체를 사용한 후에는 close() 메서드를 호출하여 리소스를 해제하는 것이 좋습니다. 하지만 System.in을 닫게 되면 프로그램의 다른 부분에서 System.in을 다시 사용할 수 없게 되므로 주의해야 합니다.
Scanner 클래스 외에도 BufferedReader 및 InputStreamReader를 결합하여 입력을 받을 수 있습니다. 하지만 일반적인 사용자 입력에 대해 Scanner는 사용하기 쉽고 편리합니다.
With ChatGPT