본문 바로가기
study_algorithm/문제풀이

[백준/10950번] 입력 받은 두 정수의 합 출력하기, BufferedWriter 반복문

by developer_j 2024. 8. 26.
728x90
반응형

백준 알고리즘 문제 10950번 https://www.acmicpc.net/problem/10950

 


 

 

문제

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

입력

첫째 줄에 테스트 케이스의 개수 T가 주어진다.

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

출력

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


 

시도

5번의 횟수를 입력받아 for 반복문으로 덧셈하여 BufferedWriter 로 출력해야지!

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

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        int cnt = Integer.parseInt(bf.readLine());  // 5

        for(int i = 0; i < cnt; i++) {
            String numbers = bf.readLine();
            StringTokenizer st = new StringTokenizer(numbers);

            int A = Integer.parseInt(st.nextToken());
            int B = Integer.parseInt(st.nextToken());

            //System.out.println(A+B);
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
            bw.write(A+B+"\n");
            bw.flush();
            bw.close();
        }
    }
}

 

했는데 반복문에 close()를 썼더니 제대로 안나왔다.

 

 

flush() 로 출력만 반복문 안에 넣어주고, close()는 반복문 바깥으로 빼야한다.

 

(정답소스)

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

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        int cnt = Integer.parseInt(bf.readLine());  // 5

        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        for(int i = 0; i < cnt; i++) {
            String numbers = bf.readLine();
            StringTokenizer st = new StringTokenizer(numbers);

            int A = Integer.parseInt(st.nextToken());
            int B = Integer.parseInt(st.nextToken());

            bw.write(A+B+"\n");
            bw.flush();
        }
        bw.close();
    }
}

 

 

 

끝!

728x90
반응형