2013-02-02 2 views
0

키보드의 입력을 Scanner(System.in)으로 읽는 동안 프로그램이 입력의 마지막 줄에서 멈추고 을 입력 한 후에 만 ​​작업이 계속됩니다.을 입력하십시오. 입력 콘솔. 내가 대신마지막 줄에서 키보드 입력을 읽는 동안 이상한 스캐너 입력

3 
f 
g 
h 

을 읽으려면, 내가

3 
f 
g 

h 

내 프로그램은 매우 간단 얻을 예를 들어

,

public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    Scanner sc = new Scanner(System.in); 
    int count = sc.nextInt(); 
    sc.nextLine(); 
    System.out.println("\n"+count); 
    while(count>0) { 
     System.out.println(sc.nextLine()); 
     count--; 

    } 
} 

내가 무엇을 이해할 수 없다 이 일어나고있다. 나는 너의 도움을 사과 할께.

+1

이 발생한 여분의 새로운 라인이 가능성이 높습니다 ** 입력 ** 및 출력 할 수 없습니다. "h"를 삽입 한 후 새 행이 누락되어 응용 프로그램이 행을 기다리고 있기 때문입니다. 그것은 끝에 \ n이있는 것을 볼 때만 읽을 것입니다. \ n 당신이 제공 한 것입니다. – amit

+0

고마워, 정확히 그랬다! – user2035908

답변

0

나는 잠시 동안의 스캐너를 사용하지 않은하지만이 유용 할 수 있기를 바랍니다 :

String string; 
java.util.Scanner mainScanner = new java.util.Scanner(System.in); 
while(mainScanner.hasNextLine()) 
{ 
    string = mainScanner.nextLine(); 
    // use string 
} 
관련 문제