我的程序应该接受一个浮点变量并退出。但是,我正在练习一些异常处理的内容,并发现了一个问题。每当您在此程序中输入一个字母时,程序会抛出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);
}
如果我使用不同的变量类型,这个问题就不会出现,所以我不确定它是逻辑错误还是浮点变量的一些奇怪问题。