# 문제
# 코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String line;
while ((line = br.readLine()) != null) {
String[] strs = line.split(" ");
int A = Integer.parseInt(strs[0]);
int B = Integer.parseInt(strs[1]);
bw.write((A + B) + "\n");
}
bw.flush();
bw.close();
br.close();
}
}
# 입/출력 결과
# 과정
- BufferedReader + InputStreamReader 클래스를 사용하여 입력값 받기.
- BufferedWriter + OutputStreamWriter 사용해서 출력하기.
- String line 선언.
- while문 사용하여 계산
- : 조건식은 line = br.readLine() != null을 주기.
- : String[] strs에 입력 받은 line 값에 공백 기준으로 나누어서 저장.
- : int A와 int B에 각각 strs의 값을 저장.
- : .write()를 사용하여 A와 B이 합을 모아두기.
- while문 밖에서 .flush()를 사용하여 출력하고 데이터 비우기.
- br과 bw 각각 close 해주기.
- 메모! EOF라고 End Of File을 해줘야한다. "입력 스트림이 더 이상 읽을 데이터가 없다는 신호"
# 느낀 점
- 문제에서 예제 입력과 예제 출력을 보면 별 다른 내용이 없다. 그래서 처음에 for문으로 하여 i < 5라는 조건식을 추가하여 제출했는데 틀렸다. 그래서 결국엔 chat-gpt한테 물어보았다.
- 후에 보니 상세페이지에는 없고 문제 목록에 보조설명으로 EOF에 대해서 알아보라는 내용이 적혀있었다. 허...
- chat-gpt가 EOF 처리를 해줘야한다고 했다.
- EOF는 End Of File로 입력 스트림이 더 이상 읽을 데이터가 없다는 신호를 말한다고 한다.
- 그 외에도 line == null || line.equals("exit") || line.equals("0 0") 이렇게도 작성할 수 있다고 했다.
- 이렇게 작성하면 아무래도 직접 종료하거나 0 0을 입력하거나 exit를 작성하면 되니 좋은 방법인 거 같다.
- 그래서 입력 값이 없으면 종료되는 건데, 내가 테스트 할 때에는 VS Code 콘솔에서 테스트하는데 종료를 어떻게 해야하는지 몰라서 다시 물어봤다.
- chat-gpt 말로는 VS Code를 사용중이라면 ctrl + z + enter를 하면 된다고 했다.
- 이번에 EOF에 대해서도 알게 되었다. 흥미롭다. ㅎㅎ