개인공부/백준코딩연습

[반복문] - A+B - 4

도원결의 2024. 8. 12. 00:07

문제 

https://www.acmicpc.net/problem/10951

 

import java.io.*;
import java.util.*;

public class Main{
    public static void main(String[] args) throws Exception {			
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		int a,b,sum;
		String srt ="";
		while( (srt = br.readLine())!= null  ) {
			
			StringTokenizer st = new StringTokenizer(srt, " ");
			a = Integer.parseInt(st.nextToken());
			b = Integer.parseInt(st.nextToken());
			sum = a + b;
			bw.write(String.valueOf(sum)+"\n");
			
		};	
			bw.flush();
			bw.close();
			br.close();
    }
    
}

 

 

날 너무 힘들게 한 문제

이 문제의 핵심은  EOF처리 여부가 관건이라고 함

EOF (End of File) 처리란 파일이나 입력 스트림의 끝을 처리하는 방법을 의미

BufferedReader는 readLine() 메서드를 제공하며

이 메서드는 파일의 끝이나 스트림의 끝에 도달하면 null을 반환한다.

이를 통해 EOF를 감지할 수 있습니다.

처음에 while문 조건을  (srt = br.readLine()).equals("") 로 하니 계속 틀렸다길래 왜 인가 했더니 

EOF처리가 올바르게 작동하지 않았기 때문이였다.