본문 바로가기
Program/JAVA

hasNextLine()에 관하여

by Woodland 2017. 7. 7.

백준 알고리즘 문제를 풀던중 다음과 같은 문제를 만났다.

문제번호 11718번.

/*

 * 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 

 * 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다.

 * 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 

 * 또, 각 줄은 공백으로 시작하지 않고, 공백으로 끝나지 않는다.

 */


이 문제를 처음 본 순간, 입력받을 값이 끝이 났는지 안났는지를 어떻게 알 수 있지 하는 의문이 들었다.

개행문자를 판독하기에 필요한 메서드가 있는지 찾아보는 도중, 다음과 같은 메서드 발견.



자바 튜토리얼 원문 : https://www.tutorialspoint.com/java/util/scanner_hasnextline.html


입력 버퍼에 다음 입력값이 있는지 없는지를 자동으로 판별해 주는것이다.

그래서 


static void prob11718 (){

Scanner s = new Scanner(System.in);

String b;

while(s.hasNextLine()){

System.out.println(s.nextLine());

}

}


위와같이 버퍼에 다음 입력값이 있다면 그대로 while문이 계속 진행될수 있다.