读取输入块时没有退出

时间:2015-09-29 03:57:48

标签: java

我试图从用户那里获取一系列整数,并在用户没有给出任何整数并按下回车时退出代码。我写了这段代码

ArrayList<Integer> series =new ArrayList<Integer>();
System.out.println("Please enter the nos");
Scanner in = new Scanner(System.in);
try
{
while(in.hasNextInt())
 {
  String c=in.next();
  series.add(Integer.parseInt(c));
 }
 }
 finally
 {
 in.close();
 }

但是当我没有输入任何数字并按回车时控制台仍然等待输入,如果那么我给任何整数都会给出异常。

1 个答案:

答案 0 :(得分:0)

按Enter键时,您没有输入任何内容,这就是为什么它还在等待某些内容。如果您放置一个空格然后按回车键,它将被视为某物。 String将接受整数,但不会将它们识别为整数。这就是为什么它在计算时会给你一个错误

series.add(Integer.parseInt(c));

为什么不使用

int x = in.nextInt();

并将x设置为参数。