코딩테스트

백준 10951 A+B - 4 (자바) - 입출력

leeeehhjj 2021. 6. 29. 15:38

A+B - 4 

시간 제한메모리 제한제출정답맞은 사람정답 비율

1 초 256 MB 143420 50004 42716 35.696%

문제

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

입력

입력은 여러 개의 테스트 케이스로 이루어져 있다.

각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)

출력

각 테스트 케이스마다 A+B를 출력한다.

예제 입력 1 복사

1 1 2 3 3 4 9 8 5 2

예제 출력 1 복사

2 5 7 17 7

 


아무 생각없이 그냥 while(true)로 계속 돌리도록 했는데 NoSuchElement 에러가 발생했다.

이 문제는 EOF 문제이다.

EOF는 End of File의 약자로 더 이상 입력되는 데이터가 없는 경우를 이야기 한다.

즉, 이 문제는 입력이 더 이상 안 들어올 때 반복문을 종료시켜줘야 한다.


1. Scanner 이용

import java.util.Scanner;

public class Test {
    public static void main(String args[]) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()){
            int a = scanner.nextInt();
            int b = scanner.nextInt();
            System.out.println(a+b);
        }
        scanner.close();
    }
}

2. BufferedReader 이용

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Test {
    public static void main(String args[]) throws Exception{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        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());
            System.out.println(a + b);
        }
    }
}