Scanner |
콘솔 입력 키보드로부터 데이터를 입력을 받을 수 있게 해준다. |
Scanner 예제
Scanner를 사용하기 위해 import를 해준다.
import java.util.Scanner;
그리고, Scanner를 사용하기 위한 작업을 해준다.
Scanner input = new Scanner(System.in);
System.in은 InputStream에 속해있는 인스턴스 중 하나이다.
즉, Scanner(InputStream source)에 해당된다.
출력 값을 String str에 저장하여 nextLine() 메소드를 사용해준다.
String str = input.nextLine();
그리고 실행을 하면, 입력 : 에서 커서가 멈추고 입력을 받도록 기다리고, 원하는 내용을 입력 후 엔터를 누르면
출력 : 뒤에 입력한 내용과 같이 나오게 된다.
Scanner 클래스 | |
생성자 | 내용 |
Scanner(File(혹은 Path) source) | 파일이나 경로로부터 데이터를 스캔 |
Scanner(File(혹은 Path) source, String charsetName) | 파일이나 경로로부터 charset에 맞추어 데이터를 스캔 |
Scanner(InputStream source) | InputStream으로부터 데이터를 스캔 |
Scanner(Readable source) | Readable 인터페이스와 관련된 것들로부터 데이터를 스캔 |
Scanner(String source) | String으로부터 데이터를 스캔 |
Scanner는 입력을 하기 위한 클래스가 아니라, 무엇인가를 스캔하는 용도로도 쓰이는 클래스다.
Scanner 클래스 메소드 | ||
반환형 | 메소드 | 내용 |
void | close() | Scanner를 닫는다. |
boolean | hasNext() | 내용이 입력되었는가 판단 (만약 Scanner에 입력된 데이터를 내보내었을 경우 비었다고 판단) |
IOException | ioException() | I/O 예외가 발생할 시 해당 예외 반환 |
String | nextLine() | 엔터가 입력되기 전 까지의 데이터 반환 |
자료형 | next자료형() | 해당되는 자료형의 데이터를 반환 |
String | next() | 다음 토큰 전 까지의 내용 반환 |
Scanner | reset() | 현 Scanner를 초기화한다. |
String | toString(0 | 현재 Scanner에 입력된 데이터를 String으로 반환 |
Scanner | useDelimiter(String pattern) | pattern에 해당되는 패턴을 구분자로 사용한다 |
Scanner 클래스를 사용한 입력 프로그램
첫번 째 입력은 nextLine() 인데 반환형이 String이므로 일반적인 문자열을 입력하면 오류 없이 출력이 되지만,
두번 째 입력1은 nextInt()인데 반환형이 int이다. 일반적인 문자열을 입력을하면 당연히 오류가 발생한다.
여기서 예외처리를 넣게 되면
이렇게 예외처리를 하면 된다..
'Backend > JAVA' 카테고리의 다른 글
[JAVA] 간단한 사칙 연산 계산기 (0) | 2022.04.17 |
---|---|
[JAVA] 클래스 파일 생성. 패키지 (0) | 2022.03.23 |
[JAVA] TreeSet HashSet (0) | 2022.03.17 |
[JAVA] 접근 제어자 (0) | 2022.03.16 |
[JAVA] Object (0) | 2022.03.15 |