Scanner类的方法
1 Scanner scan = new Scanner(System.in); 2 ArrayList<String> input = new ArrayList<String>(); 3 while(scan.hasNextLine()){ 4 String line = scan.nextLine(); 5 if(line.equals("EOF")){ 6 break; 7 } 8 input.add(line); 9 }
如果没有5、6行的跳出语句,scan会一直等待控制台的输入,scan.hasNextLine()会一直为true,while陷入死循环;hasNext()与hasNextLine()类似。
1 while(scan.hasNextInt()){ //scan一直等待下一个int的输入,直到碰到一个非int类型输入 2 scan.nextInt(); 3 }
控制台输入输出状态为:(输入的类型都为int)(scan一直在等待下一个int输入)
2.运行下面代码:
1 public static void main(String args[]){ 2 Scanner scan = new Scanner(System.in); 3 ArrayList<Integer> list = new ArrayList<Integer>(); 4 while(scan.hasNextInt()){ 5 list.add(scan.nextInt()); 6 } 7 for(int e : list){ 8 System.out.print(e+" "); 9 } 10 }
控制台输入输出为: