백준(Java)

백준 11718번 '그대로 출력하기' (자바)

심층코드 2025. 4. 27. 23:26
 

문제

입력 받은 대로 출력하는 프로그램을 작성하시오.

입력

입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시작하지 않고, 공백으로 끝나지 않는다.

출력

입력받은 그대로 출력한다.

예제 입력 1 

Hello
Baekjoon
Online Judge

예제 출력 1 

Hello
Baekjoon
Online Judge

 

코드

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

class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNextLine()){
            String A =sc.nextLine();
            System.out.println(A);
        }
        sc.close();
    }
}

 

코드지식

1.위의 코드에서는 break문을 쓰지않았지만, 와일(while) 루프 안의 이프(if) 문에서 break 문이 실행되면, 해당 break 문이 속한 가장 가까운 반복문(여기서는 와일 루프)을 즉시 빠져나갑니다.

 

2. hasNextLine() 메서드는 Scanner가 입력 스트림에서 다음 줄을 읽을 수 있는지 여부를 확인하여 boolean 값(true 또는 false)으로 반환합니다. 주로 while 루프와 함께 사용하여 입력의 끝까지 줄 단위로 데이터를 처리하는 데 유용하게 사용됩니다.

 

Scanner의 hasNextLine() 메서드는 공백만으로 이루어진 입력도 하나의 "라인"으로 인식하고 true를 반환합니다.

hasNextLine()은 입력 스트림이 닫히거나 더 이상 읽을 수 있는 줄이 없을 때 false를 반환합니다.

 

일반적으로 콘솔 입력(System.in)의 경우, 명시적으로 입력 스트림을 닫는 신호가 있어야 hasNextLine()이 false를 반환합니다. 콘솔에서 입력 종료 신호를 보내는 방법은 운영체제에 따라 다릅니다.

콘솔 입력 종료 신호:

  • Windows: Ctrl + Z 를 누르고 Enter 키를 누릅니다.
  • macOS/Linux: Ctrl + D 를 누릅니다.