代码改变世界

Java中Scanner输入控制

2015-09-28 22:09  himanxu  阅读(793)  评论(0编辑  收藏  举报

Scanner用于扫描键盘,读取用户的键盘输入。

在一般使用赋值中,预先知道键盘输入的次数,从而可以通过for循环控制scanner扫描的次数。然而,当键盘输入次数不确定时,如何控制scan循环跳出,例如

实现计算四则运算式子的计算,计算式子由用户输入

Scanner scanner = new Scanner(System.in);

String str = null;

while(scanner.hasNext())

{

  str = scanner.next();

}

 

使用测试程序

Scanner s = new Scanner(System.in);

while (true)

{
  System.out.println("s.hasNext():"+s.hasNext());
      System.out.println("s.next():"+s.next().toString());
}

测试发现,当无输入时,程序阻塞;当输入空格时,程序阻塞;当只有输入ctr+z时,s.hasNext()才返回false,其余情况下均返回true。ctr+c时程序终止。