当我输入 3,0,3.14,0 时,我收到错误消息。似乎我在第 26,27 和 31 行中跳水为零。我知道它正在抛出算术异常。我需要先使用 if 语句来检查这种情况,然后再尝试执行我正在执行的任何除法。所以,最后一个 if 语句我不知道该怎么做才能修复它。
import java.util.Scanner;
public class MathTest
{
public static void main (String[] args)
{
Scanner input = new Scanner(System.in);
System.out.print("Input integer value 1: ");
int iNum1 = input.nextInt();
System.out.print("Input integer value 2: ");
int iNum2 = input.nextInt();
System.out.print("Input double value 1: ");
double dNum1 = input.nextDouble();
System.out.print("Input double value 2: ");
double dNum2 = input.nextDouble();
int add = iNum1 + iNum2;
int sub = iNum1 - iNum2;
int multi = iNum1 * iNum2;
int div = iNum1 / iNum2;
int mod = iNum1 % iNum2;
double add2 = dNum1 + dNum2;
double sub2 = dNum1 - dNum2;
double multi2 = dNum1 * dNum2;
double div2 = dNum1 / dNum2;
int add3 = iNum2 + iNum1;
int sub3 = iNum2 - iNum1;
int multi3 = iNum2 * iNum1;
int div3 = iNum2 / iNum1;
int mod3 = iNum2 % iNum1;
double add4 = dNum2 + dNum1;
double sub4 = dNum2 - dNum1;
double multi4 = dNum2 * dNum1;
double div4 = dNum2 / dNum1;
if (iNum1 > iNum2 || dNum1 > dNum2)
{
System.out.println("\nInteger output:");
System.out.printf("Adding " + iNum1 + " and " + iNum2 + " = " + add);
System.out.printf("\nSubtracting " + iNum1+ " and "+ iNum2+ " = " + sub);
System.out.printf("\nMultiplying " + iNum1+ " and "+ iNum2+ " = " + multi);
System.out.printf("\nDividing " + iNum1 + " and " + iNum2 + " = " + div);
System.out.printf("\nModing " + iNum1 + " and " + iNum2 + " = " + mod);
System.out.println("\n\nDouble output:");
System.out.printf("Adding " + dNum1 + " and " + dNum2 + " = %.2f%n", add2);
System.out.printf("Subtracting " + dNum1 + " and " + dNum2 + " = %.2f%n", sub2);
System.out.printf("Multiplying " + dNum1 + " and " + dNum2 + " = %.2f%n", multi2);
System.out.printf("Dividing " + dNum1 + " and " + dNum2 + " = %.2f%n", div2);
}
else if (iNum1 < iNum2 || dNum1 < dNum2)
{
System.out.println("\nInteger output:");
System.out.printf("Adding " + iNum1 + " and " + iNum2 + " = " + add3);
System.out.printf("\nSubtracting " + iNum1 + " and "+ iNum2+ " = " + sub3);
System.out.printf("\nMultiplying " + iNum1 + " and "+ iNum2+ " = " + multi3);
System.out.printf("\nDividing " + iNum1 + " and " + iNum2 + " = " + div3);
System.out.printf("\nModing " + iNum1 + " and " + iNum2 + " = " + mod3);
System.out.println("\n\nDouble output:");
System.out.printf("Adding " + dNum1 + " and " + dNum2 + " = %.2f%n", add4);
System.out.printf("Subtracting " + dNum1 + " and " + dNum2 + " = %.2f%n", sub4);
System.out.printf("Multiplying " + dNum1 + " and " + dNum2 + " = %.2f%n", multi4);
System.out.printf("Dividing " + dNum1 + " and " + dNum2 + " = %.2f%n", div4);
}
if (iNum1 == iNum2 || dNum1 == dNum2)
{
System.out.println("\nInteger output:");
System.out.printf("Adding " + iNum1 + " and " + iNum2 + " = " + add);
System.out.printf("\nSubtracting " + iNum1 + " from itself "+ " = " + sub);
System.out.printf("\nSquaring " + iNum1 + " = " + multi);
System.out.printf("\nDividing " + iNum1 + " and " + iNum2 + " = " + div);
System.out.printf("\nModing " + iNum1 + " and " + iNum2 + " = " + mod);
System.out.println("\n\nDouble output:");
System.out.printf("Adding " + dNum1 + " and " + dNum2 + " = %.2f%n", add2);
System.out.printf("Subtracting " + dNum1 + " from itself " + " = %.2f%n", sub2);
System.out.printf("Squaring " + dNum1 + " = %.2f%n", multi2);
System.out.printf("Dividing " + dNum1 + " and " + dNum2 + " = %.2f%n", div2);
}
if (iNum2 == 0 || dNum2 == 0)
{
System.out.println("\nInteger output:");
System.out.printf("Adding " + iNum1 + " and " + dNum2 + " = " + add);
System.out.printf("\nSubtracting " + iNum1+ " and "+ dNum2 + " = " + sub);
System.out.printf("\nMultiplying " + iNum1+ " and "+ dNum2 + " = " + multi);
System.out.println("Error: You cannot divide and mod by zero!!!");
System.out.println("\n\nDouble output:");
System.out.printf("Adding " + dNum1 + " and " + dNum2 + " = " + add);
System.out.printf("Subtracting " + dNum1 + " and " + dNum2 + " = " + sub);
System.out.printf("Multiplying " + dNum1 + " and " + dNum2 + " = " + multi);
System.out.println("Error: You cannot divide by zero!!!");
}
}
}