ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 백준 10951 A+B - 4 (자바) - 입출력
    코딩테스트 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);
            }
        }
    }

     

Designed by Tistory.