자바/유용한 클래스들

유용한 클래스(4) - Scanner class

백_곰 2021. 12. 30. 14:35

1. java.util.Scanner class

- 스캐너 생성자는 다양한 유형의 입력 소스로부터 데이터를 읽을 수 있다. 

(1) Scanner(String source)

(2) Scanner(File source)

(3) Scanner(InputStream source)

(4) Scanner(Readable source)

(5) Scanner(ReadableByteChannel source)

(6) Scanner(Path source)

 

 

 

- 또한 정규식 표현을 이용한 라인단위 검색을 지원하며 구분자(delimiter)에도 정규식 표현을 사용할 수 있어서

복잡한 형태의 구분자도 처리가 가능하다.

(1) Scanner useDelimiter(Pattern pattern)

(2) Scanner useDelimiter(String pattern)

 

 

 

 

1-1. Scanner class를 이해하기 위한 예제(1)

: 입력을 받고 해당 문자열을 배열에 넣은 예제이다.

 

( 21번째 줄에서 " +"에서의 정규식 의미는 공백 하나 이상을 말한다. )

 

 

 

 

1-2. Scanner class를 이해하기 위한 예제(2)

: 파일을 통해 hasNextInt와 hasNextString으로 입력을 받는 예제이다.

 

<hasNextInt>

 

( 출력 순서는 아래와 같다.)

 

 

<hasNextString>

( nextLint() 메서드는 한번 실행할 때마다 한 줄의 내용을 가져온다. )

 

 

 

 

1-3. Scanner class를 이해하기 위한 예제(3)

: 파일을 통해  받고 합계를 구해 평균을 계산하는 예제이다.

 

( 20번째 줄에서 ", +"","을 기준으로 split() 를 실행하는데, 뒤에 공백을 하나 이상만큼 제거를 한다는 것이다. )

( 그래서 만약 뒤에 공백이 없다면 그냥 "," 이렇게 써야 할 것이다. )