
我希望它允许用户在输入错误后输入两个int。我尝试在catch块中继续,但它只抛出运行时错误。我只想让它在抛出错误后返回到main方法的顶部。看看图片中它是如何不允许用户输入任何数字的。我想修好那部分。
这是代码。这只是为了练习。
/**
practing exceptions, example 1 in book for exceptions
*/
import java.util.Scanner;
public class PracticeExceptions extends Exception {
public static void main(String[] args)
{
String response = "y";
Scanner keyboard = new Scanner(System.in);
do{
int n1, n2;
double r;
System.out.println("Please enter two numbers");
try{
n1 = keyboard.nextInt();
n2 = keyboard.nextInt();
r = (double) n1/n2;
System.out.format("Your answer: %.2f %n", r);
}catch(Exception a){
System.out.println("Invaild input please try again");
}
System.out.println("Again (y/n)");
response = keyboard.next();
}while(response.equalsIgnoreCase("y"));
}
}发布于 2017-02-20 14:09:49
删除扫描仪缓冲区中的无效输入
}catch(Exception a){
System.out.println("Invalid input please try again");
keyboard.next();
}代码现在将下拉到System.out.println("Again (y/n)");
如果您希望循环回到顶部,请在keyboard.next();之后添加一个continue
https://stackoverflow.com/questions/42337449
复制相似问题