반응형
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String str = "";
/*
* [입력] 입력은 여러 개의 테스트 케이스로 이루어져 있다.
* 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)
* */
while ((str = br.readLine()) != null) { // 특별한 종료시점 언급이 없으므로, EOF(End of File) 체크
StringTokenizer st = new StringTokenizer(str, " ");
int inputA = Integer.parseInt(st.nextToken());
int inputB = Integer.parseInt(st.nextToken());
bw.write(String.valueOf(inputA + inputB));
bw.newLine();
}
br.close();
bw.flush();
bw.close();
}
}
문제에서 항상 종료시점 언급이 있었었는데, 지금처럼 특별히 없는 경우는 EOF(End of File)을 체크하면 됩니다.
EOF( End of File )
- 말 그대로 파일의 끝을 말하는데, 데이터 소스로부터 더 이상 읽을 수 있는 데이터가 없음을 나타내는 용어입니다.
Windows : CTRL + Z
대부분의 UNIX : CTRL + D
보통 Windows 환경에서 IDE 를 사용하실 텐데, 백준 인풋값을 복사 붙여 넣기 하신 뒤, CTRL + Z 입력 후 Enter 입력 시 종료됩니다!
문제풀이에 사용된, BufferedReader는 Eof 시 null 을 발생하므로, null 체크로 반복문을 종료했습니다!
반응형