두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력은 여러 개의 테스트 케이스로 이루어져 있다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)
각 테스트 케이스마다 A+B를 출력한다.
※ 문제 주요 포인트
End Of File의 약자로, 말 그대로 파일의 끝을 의미한다.
입력에서 더이상의 읽을 수 있는 데이터가 존재하지 않는 경우의 값.
주의할 점은 System.in을 통해 키보드로부터 입력 받는 경우, 우리가 흔히 사용하는 Enter,Space 키도 입력값으로 존재한다는 점을 간과하면 안된다. 즉, Enter나 Space를 누른다고 해서 EOF가 아니라는 것이다.
일반적으로 우리가 키보드로 콘솔 창에 EOF 라는 값을 입력할 수 없으므로, 윈도우 - Ctrl+z / 리눅스 - Ctrl+d 단축키로 EOF를 입력할 수 있도록 되어 있다.
BEAKJOON 웹 사이트 제출 시에는 별도로 EOF를 입력해주지 않아도 파일로 입력되어 자동 발생 및 예외가 발생하여 통과가 가능하니 참고하기 바람.
Scanner의 메서드들의 경우 더이상 읽을 데이터가 없으면 NoSuchElementException이 발생한다.
BuffrerdReader 더이상 읽을 데이터가 없으면, null값을 반환한다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
StringTokenizer st;
String str;
while((str = br.readLine()) != null){
st = new StringTokenizer(str, " ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
sb.append(a+b).append("\n");
}
System.out.println(sb);
}
}