要求:
编译一个 java程序,完成实现计算绝对值表达式 |a-b|的功能。要求当b比a大时人为抛出一个自定义异常,在计算绝对值时通过异常捕捉机制完成此绝对值表达式的计算。
1)首先自定义一个异常继承Exception
package jisuan01;
public class MyException extends Exception{ //构建自定义异常,继承Exception类
public MyException(String Error) { //构造方法
super(Error); //继承父类的构造方法
}
}
2)然后通过throws声明抛出异常,和throw抛出异常信息,并通过try-catch函数捕捉异常并进行异常处理,具体源代码如下:
package jisuan01;
import java.util.Scanner;
public class jisuan01 {
public static double yichang (double a, double b) throws MyException {//定义方法抛出异常
double c;
if(a<b) { //判断a是否小于b
throw new MyException("此时a<b,出现异常!"); //错误信息
}
else {
c=a-b;
}
return c;//返回值
}
public static void main(String[]args){
double a, b;
while(true){//无限循环
System.out.println("请输入a:");
Scanner sc1=new Scanner(System.in);
a=sc1.nextDouble();//把输入的值给a
System.out.println("请输入b:");
Scanner sc2=new Scanner(System.in);
b=sc1.nextDouble(); //把输入的值给b
try {
double c = yichang(a, b); //调用yichang函数
System.out.println("|a-b|="+c);//输出yichang函数返回值
}
catch(MyException e){
double c1;
c1=b-a;
System.out.println(e);//输出异常信息
System.out.println("|a-b|="+c1); //出现异常,输出|a-b|的值
}
}
}
}
运行结果如下所示: