https://www.acmicpc.net/problem/10951
[ 문제 ]
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
[ 입력 ]
입력은 여러 개의 테스트 케이스로 이루어져 있다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)
[ 출력 ]
각 테스트 케이스마다 A+B를 출력한다.
[ 입출력 예시 ]
예제 입력 | 예제 출력 |
---|---|
1 1 2 3 3 4 9 8 5 2 | 2 5 7 17 7 |
테스트 케이스가 몇 번인지 나와있지 않다.
이번 문제는 "백준 온라인 저지" 사이트를 통해 들어가면 문제 아래에 EOF(End Of File)에 대해 알아보라고 설명이 되어있다.
이번 문제에서는 EOF(End Of File)에 대해 알아볼 것이다.
1. 코드가 EOF(End Of File)를 읽을 때 까지 무한 반복할 것이다.
while에 true값을 넣어 무한 반복 시키고 try~catch(Exception e)를 이용하여
올바른 값이 들어오면 두 변수를 선언하여 각각 입력된 값들을 대입하고 값의 합을 출력한다.
2. catch(Exception e)에는 잘못된 값이 들어와서 예외처리가 발생했을 때 break;문을 넣어 입력을 종료한다.
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));
StringTokenizer st = new StringTokenizer(br.readLine());
while(true){
try {
int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
System.out.println(A+B);
st = new StringTokenizer(br.readLine());
}
catch(Exception e) {
break;
}
}
}
}