20.创建一个简单的计算器程序,能够处理除数为零的异常
在Java中,创建一个简单的计算器程序来处理除数为零的异常,可以如下实现:
首先,我们定义一个Calculator
类,它包含一些基本的算术运算方法,特别是除法运算,该方法会检查除数是否为零,如果是,则抛出ArithmeticException
。
然后,我们在Main
类中创建Calculator
对象,并调用其方法来进行计算。我们还需要使用try-catch
块来捕获并处理可能发生的ArithmeticException
。
以下是完整的代码示例:
java复制代码
// Calculator.java | |
public class Calculator { | |
public double add(double num1, double num2) { | |
return num1 + num2; | |
} | |
public double subtract(double num1, double num2) { | |
return num1 - num2; | |
} | |
public double multiply(double num1, double num2) { | |
return num1 * num2; | |
} | |
public double divide(double num1, double num2) throws ArithmeticException { | |
if (num2 == 0) { | |
throw new ArithmeticException("除数不能为零"); | |
} | |
return num1 / num2; | |
} | |
} | |
// Main.java | |
public class Main { | |
public static void main(String[] args) { | |
Calculator calculator = new Calculator(); | |
double num1, num2, result; | |
// 示例:加法 | |
num1 = 10; | |
num2 = 5; | |
result = calculator.add(num1, num2); | |
System.out.println("加法结果: " + result); | |
// 示例:减法 | |
num1 = 10; | |
num2 = 5; | |
result = calculator.subtract(num1, num2); | |
System.out.println("减法结果: " + result); | |
// 示例:乘法 | |
num1 = 10; | |
num2 = 5; | |
result = calculator.multiply(num1, num2); | |
System.out.println("乘法结果: " + result); | |
// 示例:除法 - 正常情况 | |
num1 = 10; | |
num2 = 2; | |
try { | |
result = calculator.divide(num1, num2); | |
System.out.println("除法结果: " + result); | |
} catch (ArithmeticException e) { | |
System.out.println("发生异常: " + e.getMessage()); | |
} | |
// 示例:除法 - 除数为零的情况 | |
num1 = 10; | |
num2 = 0; | |
try { | |
result = calculator.divide(num1, num2); | |
System.out.println("除法结果: " + result); | |
} catch (ArithmeticException e) { | |
System.out.println("发生异常: " + e.getMessage()); | |
} | |
} | |
} |
在这个程序中,Calculator
类包含了基本的算术运算方法。divide
方法会检查除数是否为零,并在发现除数为零时抛出ArithmeticException
。
在Main
类的main
方法中,我们创建了Calculator
对象,并调用其方法来执行算术运算。对于除法运算,我们使用try-catch
块来捕获可能抛出的ArithmeticException
,并打印出异常信息。这样,当除数为零时,程序不会崩溃,而是会优雅地处理异常并通知用户。