본문 바로가기
코딩테스트/백준

[백준/11718] 그대로 출력하기 - EOF (Java)

by wo__ongii 2025. 1. 2.
728x90

[풀이]

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

public class Day26 {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();

        String line;
        while ((line = br.readLine()) != null) { // EOF까지 읽기
            sb.append(line).append("\n"); // 줄바꿈 추가
        }
        br.close();
        System.out.print(sb.toString());
    }
}

StringTokenizer는 기본적으로 구분자를 기준으로 입력을 분리하지만, Java에서는 표준 입력에서 여러 줄 입력을 처리하기 위해서는 BufferedReader를 반복적으로 호출하여 각 줄을 개별적으로 처리해야 한다.

StringTokenizer를 사용하는 대신, 한 줄씩 읽고 그대로 출력하려면 BufferedReader의 readLine() 메서드를 활용하는 것이 적절하다.

 

- readLine() 반복 호출: 여러 줄 입력을 처리하기 위해 while 문을 사용하여 EOF까지 한 줄씩 읽음

- EOF 처리: readLine()이 null을 반환하면 입력이 종료되었다고 알도록 while문 사용

 

 

 

728x90
반응형