【发布时间】:2015-02-07 21:56:39
【问题描述】:
我的程序应该接受一个浮点变量然后退出。但是我正在练习一些异常处理的东西并发现了一个问题。每当你在这个程序中输入一个字母时,程序当然会抛出一个 InputMismatchException,但它会卡在一个无限循环中。我认为我的问题是基于我对 try-catch 语句和异常处理的误解。
public static void main(String [] args){
Scanner reader = new Scanner(System.in);
boolean done = false;
do{
try{
System.out.print("Enter a number: ");
float number = reader.nextFloat();
done = true;
}
catch (Exception e){
System.out.println("uh oh");
}
}while(!done);
}
如果我使用不同的变量类型,则不会出现此问题,因此我不确定这是逻辑错误还是浮点变量的某些问题。
【问题讨论】:
-
“无限循环”是什么意思?你有任何输出吗?
-
是的,我一遍又一遍地收到“输入一个数字:呃哦”的说法。
标签: java exception exception-handling floating-point