Purple Bobblehead Bunny

Backend/JAVA

[JAVA] Scanner

준영어린이 2022. 3. 18. 12:44

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