2014-01-19 3 views
0

콘솔에서 정수 (공백으로 구분 : "6 9 20")를 읽고 나중에 사용할 수 있도록 배열로 전송하려고합니다. 그러나 필자가 작성한 코드를 사용하면 스캐너 객체가 입력 내용을 읽지 않게됩니다. 나는 스캐너 객체가 입력을 중단하는 것을 정확히 알지 못한다고 생각하지만, Enter 키를 누르 자마자 읽기를 멈추고 싶습니다. 나는 정확한 답변을 위해이 웹 사이트를 광범위하게 검색했지만 아무 소용이 없다.스캐너가 입력을 계속 읽지 않습니다.

 int[] mcNug = new int[5]; 

     Scanner scanner = new Scanner(System.in); 
     List list = new ArrayList<Integer>(); 
     int i = 0; 
     while(scanner.hasNextInt() && scanner.hasNext()) 
     { 
      list.add(scanner.nextInt()); 
      mcNug[i] = (int) list.get(i); 
      i++; 
      scanner.next(); 
     } 
+0

http://stackoverflow.com/questions/5071458/keep-reading-numbers-until-newline-reached-using-a-scanner – nmclean

답변

0

를 사용하여 A nextLine() :

여기 내 코드입니다.

while(scanner.hasNextLine()){ 
    String line = scanner.nextLine(); 
    String[] numbers = line.split("\\s+"); 
    ... do something with numbers array .. 
} 
관련 문제