지금까지는 화면에 출력만 해왔는데, 이제 화면으로부터 입력받는 방법에 대해서 얘기해보자. 자바에서 화면으로 부터 입력받는 방법은 여러 가지가 있으며, 점점 간단하고 편리한 방향으로 발전해왔다. Scanner 클래스를 이용해서 화면으로부터 입력받는 방법을 알아보자.
먼저 Scanner클래스를 사용하려면, 아래와 같은 한 문장을 소스코드의 맨 위쪽에 추가해줘야 한다.
import java.util.*;
그 다음엔 Scanner클래스의 객체를 생성한다.
Scanner scanner = new Scanner(System.in);
그리고 nextLine()이라는 메서드를 호출하면, 입력대기 상태에 있다가 입력을 마치고 '엔터키(Enter)'를 누르면 입력한 내용이 문자열로 반환된다.
Strnig input = scanner.nextLine(); // 입력받은 내용을 input에 저장
int num = Integer.parseInt(input); // 입력받은 내용을 int 타입의 값으로 변환
사실 Scanner클래스에는 nextInt()나 nextFloat()와 같이 변환없이 숫자로 바로 입력받을 수 있는 메서드들이 있고, 이 메서드들을 사용하면 문자열을 숫자로 변환하는 수고는 하지 않아도 된다.
int num = scanner.nextInt(); // 정수를 입력받아서 변수 num에 저장
그러나 이 메서드들은 화면에서 연속적으로 값을 입력받아서 사용하기에 까다롭다. 차라리 모든 값을 nextLine()으로 입력받아서 적절히 변환하는 것이 더 낫다.
import java.util.*;
class ScannerEx {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("두 자리 정수를 하나 입력해주세요.");
String input = scanner.nextLine();
int num = Integer.parseInt(input);
System.out.println("입력 내용: " + input);
}
}
'Java 길찾기 > Java의 정석' 카테고리의 다른 글
[Java] 컬렉션 프레임워크 - Iterator (0) | 2022.05.18 |
---|---|
[Java] 컬렉션 프레임워크 - Stack과 Queue (0) | 2022.05.17 |
[Java] 커맨드 라인을 통해 입력받기 (0) | 2022.05.16 |
[Java] 자주 발생하는 에러와 해결 방법 (0) | 2022.05.11 |
[Java] 자바 클래스의 작성법 (0) | 2022.05.10 |