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     }

控制台输入输出为:

 

posted @ 2017-03-18 14:47  destinying  阅读(546)  评论(0编辑  收藏  举报