BufferedReader와 BufferedWriter를 사용하여 정수 A, B 입력 받은 뒤, 둘의 합을 한줄에 하나씩 순서대로 출력하기.
# 코드
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));
int T = Integer.parseInt(br.readLine());
for (int i = 0; i < T; i ++) {
String[] strs = br.readLine().split(" ");
int A = Integer.parseInt(strs[0]);
int B = Integer.parseInt(strs[1]);
int sum = A + B;
bw.write(sum + "\n");
}
bw.flush();
bw.close();
}
}
# 입/출력 결과
# 과정
BufferedReader + InputStreamReader 클래스를 사용하여 입력값 받기.
BufferedWriter + OutputStreamWriter 사용해서 출력하기.
int T에 몇 개 출력할지 입력값 받아서 저장.
for문 사용.
: 조건식은 int i = 0; i < T; i++; 로해서 T만큼 반복시키기.
: String[] strs로 공백 기준으로 나누어서 입력 받은 값 저장.
: 각각 int A와 int B에 strs에 저장된 값들 숫자형으로 변환해서 저장.
: int sum에 A와 B를 더한 값 저장.
: bw.write()를 사용하여 sum에 있는 값 모아두기. 이때 꼭 "\n" 유니코드 줄바꿈 작성해줘야 함.
bw.flush() 필수 작성. 이때 bw에 임시로 저장된 데이터를 출력하고 데이터를 비워주는 작업.
bw.close() 작성해서 종료하기.
# 느낀 점
System.out.println() 으로 출력했었는데, BufferedWriter로 출력을 하자니 어색했다. 그래도 새로운 것을 알게되어서 재밌었다.
그리고 BufferedReader.write()를 사용하는 것은 출력하기 전, 데이터를 모아두는 것이고, BufferedReader.flush()가 출력과 함께 데이터를 비우는 작업이라는 것을 알게되었다.