【发布时间】:2024-04-20 22:30:02
【问题描述】:
我正在编写一个简单的除法程序。用户输入分子和分母。分子和分母是如果用户不输入整数则抛出异常。此外,如果用户输入 0,分母应该抛出异常。错误应该告诉用户每次他们做错了什么,并继续循环,直到输入正确的输入。然后它应该在值正确时退出。
为什么当用户输入不正确的分母条目时,它会再次请求分子?
import java.util.InputMismatchException;
import java.util.Scanner;
public static void main(String[] args)
{
// TODO Auto-generated method stub
System.out.printf("Welcome to Division \n");
Scanner div = new Scanner(System.in);
boolean continueLoop = true;
do
{
try
{
System.out.println("\nEnter a numerator:\n");
int num1 = div.nextInt();
System.out.println("Enter a denominator:");
int num2 = div.nextInt();
int result = quotient(num1, num2);
System.out.printf("The Answer is: %d / %d = %d%n",num1,num2,result);
}
catch(InputMismatchException inputMismatchException)
{
System.err.printf("\n Exception \n",inputMismatchException );
div.nextLine();
System.out.printf("You must enter integers");
}
catch(ArithmeticException arithmeticException)
{
System.err.printf("\n Exception \n",arithmeticException);
System.out.printf(" Zero is an invalid entry");
}
} while (continueLoop);
System.out.printf("\n GOODBYE \n");
}
}
【问题讨论】:
-
您只有一个循环,因此每次运行时都会执行所有步骤。在调试器下逐步运行您的代码并亲自查看。
标签: java exception-handling user-input java-7