【发布时间】:2019-05-23 04:40:36
【问题描述】:
我最近才开始学习 Java,但我对 Scanner 类的工作方式有点困惑。我在我的程序中使用了 Scanner 类,现在我的代码在每次运行时都会引发错误。错误是“评估失败,因为线程没有挂起” - 这在我的代码上下文中是什么意思?
我开发了一个收集用户年龄的程序。为了保证用户提供号码,我使用的是.hasNextInt()的方法,会不断的检查直到用户提供号码。如下:
import java.util.Scanner;
public class test{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
while (!scan.hasNextInt()){
scan.next();
}
int age = scan.nextInt();
System.out.println("You are " + age);
scan.close();
}
}
当我尝试运行我的代码时,会显示输入面板(如预期的那样),但是一旦我提供输入,我的屏幕上就会显示以下错误:“评估失败,因为线程未暂停。”为什么会这样?
【问题讨论】:
-
您使用的是什么 IDE? This 看起来很像
-
这很可能与您的 IDE 有关,您正在运行或调试您的代码,但由于某种原因 System.in(某些命令行)不可用