728x90
EOF란?
EOF는 End Of File의 약자로, 데이터 소스로부터 더 읽을 수 있는 데이터가없음을 나타내는 용어이다.
알고리즘 문제를 풀 때는 주로 입력값을 얼마나 받을지 명시하지 않을 경우 EOF를 사용함.
아래 문제 같은 경우 EOF 사용하여 문제 해결
https://www.acmicpc.net/problem/11034
EOF 사용법
Scanner 클래스 사용할 경우
scanner 클래스는 hasNext() 메소드를 사용한다.
hasNext()는 입력된 토큰이 있으면 ture를 반환, 아니면 false를 반환.
Scanner sc = new Scanner(System.in);
while(sc.haxNext()) {
System.out.println(sc.nextLine());
}
BufferedReader 클래스 사용할 경우
BufferedReader는 Scanner와 달리 EOF를 처리하는 내장 함수가 없음.
아래 코드와 같이 처리함.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = "";
while((input = br.readLine()) != null) {
}
br.readLine()으로 입력값을 계속 읽고, 읽은 값이 null이 되면 반복문을 종료.
참고 자료
728x90
'언어 > JAVA' 카테고리의 다른 글
Optional 올바르게 사용하자 (0) | 2024.03.30 |
---|---|
Optional<T> 왜 사용하나 (0) | 2024.03.30 |
[JAVA] 예외 (0) | 2023.10.05 |