본문 바로가기

Algorithm/백준

[백준 BOJ] 10951번 A+B - 4 - JAVA

A+B - 4


문제

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

입력

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

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

출력

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

 

 

 

성공코드

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

public class no10951 {
    public static void main(String srgs[]) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        StringTokenizer st;
        String str;

        while((str=br.readLine())!=null && !str.isEmpty()){
            st = new StringTokenizer(str);

            var A = Integer.parseInt(st.nextToken());
            var B =  Integer.parseInt(st.nextToken());
            sb.append(A+B).append("\n");
        }
        System.out.print(sb);
    }
}

 

[풀이]

문제 종료 조건이 없어서 어케하라는거야? 했지만, EOF(Eend of File)을 통해 종료하도록 하면 된다. EOF는 더 이상 읽을 데이터가 없을 때를 말하는데, BufferReader는 더 이상 입력 데이터가 없을 때 null을 리턴한다.

 

그래서 넣어준 조건 값은 while((str=br.readLine())!=null ) 그런데 반복해서, intellij java.util.NoSuchElementException 계속 발생했다.

 

백준에 제출하면 성공으로 뜨지만, IDE에서는 입력의 끝 (EOF)를 알 수 없어 실행 종료가 되지 않는다. 그래서 추가해 준게 !str.isEmpty() 

 

 = while((str=br.readLine())!=null && !str.isEmpty())를 사용하면 IDE에서도 성공힐수있다.

 

300x250