【发布时间】:2017-07-27 11:02:06
【问题描述】:
程序要求用户输入 double num 1 和 double num 2 如果有异常,我希望它再次要求输入 num 1 和 num 2
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
double num1, num2;
int error = 0;
int text;
System.out.print("Enter 4 ");
text = sc.nextInt();
do{
try{
if(text == 4){
System.out.print("Enter number 1: ");
num1 = sc.nextDouble();
System.out.print("Enter number 2: ");
num2 = sc.nextDouble();
double quotient = num1/num2;
System.out.println("The Quotient of "+num1 + "/" +num2+ " = "+quotient);
}
}catch(Exception ex){
System.out.println("You've entered wrong input");
error = 1;
}
}while(error == 1);
}
然后,当我尝试代码时,它是否会通过在 num1 或 num 2 中输入字符串来捕获异常,我有这个无限循环:
Enter number 1: You've entered wrong input
Enter number 1: You've entered wrong input
Enter number 1: You've entered wrong input
Enter number 1: You've entered wrong input
Enter number 1: You've entered wrong input
【问题讨论】:
-
请提供minimal reproducible example(注意“完整”位)。
-
你从哪里得到那个双倍的?
-
您的代码将受益于声明和(重新)使用从用户获取输入直到用户输入有效数据的单独方法。
标签: java exception-handling try-catch do-while