我试图从用户那里获取一系列整数,并在用户没有给出任何整数并按下回车时退出代码。我写了这段代码
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();
}
但是当我没有输入任何数字并按回车时控制台仍然等待输入,如果那么我给任何整数都会给出异常。
答案 0 :(得分:0)
按Enter键时,您没有输入任何内容,这就是为什么它还在等待某些内容。如果您放置一个空格然后按回车键,它将被视为某物。 String将接受整数,但不会将它们识别为整数。这就是为什么它在计算时会给你一个错误
series.add(Integer.parseInt(c));
为什么不使用
int x = in.nextInt();
并将x设置为参数。