JAVA - hasNextLine()

혜준·2024년 8월 13일
post-thumbnail

백준 11718을 풀던중 !

초반엔 그냥 scanner 객체로 입력을 받아서 단순 출력만 하면 되는거 아닌가? 라는 생각으로 해봤지만

띠용?

아 진짜 열심히 공부해야겠구나 .. 를 다시한번 느끼게 되는 계기였고

문제를 다시 보니
"각줄은 공백으로 시작하지 않고 공백으로 끝나지 않는다 !" 가 포인트 !!

그래서 답은 hasNextLine()을 써야하는 것이다.

  • 빈 문자열을 포함하면 모든 줄을 읽을 수 있다
  • 사용자가 여러 줄을 입력하고, 빈 줄도 출력에 포함시키고 싶다면, hasNextLine()을 사용할 수 있다
import java.util.Scanner;

public class Main{
    public static void main(String[] args) {

        Scanner scanner=new Scanner(System.in);

        while(scanner.hasNext()){
            // 먼저 hasNextLine()은 다음에 읽을 값이 있는지 확인하는 불린타입의 메소드로 값이 있으면 트루를 반환한다.
           // 빈 문자열을 포함한 모든 줄을 읽을 수 있습니다
            String str=scanner.nextLine();

            System.out.println(str);
        }

        scanner.close();
    }
}

또한 scanner객체를 닫아주지 않으면 무한 루프에 빠질 수 있으므로 꼭 닫아주기 !!

profile
성장을 추구하는 개발자 입니다 :)

0개의 댓글