题目:
1、从键盘输入三个数字,输出三角形的面积;
2、如果输入的三条边不能构成三角形,报出自定义的错误提示信息;
3、使用try…catch…finally的方式处理异常,无论是否成功,都要输出“测试完毕!”的信息;
代码:
package homework_nine;
public class TriangleException extends Exception{//自定义异常类
public TriangleException(String message) {
super(message);
}
}
public class Triangle {//自定义Triangle类
int a,b,c;//定义三角形三边
double s,p;//定义三角形面积、周长
public Triangle(int a, int b, int c) throws TriangleException {//定义构造方法
this.a = a;//初始化变量
this.b = b;
this.c = c;
if(a+b<c||b+c<a||a+c<b) {//不满足条件
throw new TriangleException("输入的三条边不能构成三角形!");//抛出自定义异常
}else {
double x;
x=(a+b+c)/2.0;
s=Math.sqrt(x*(x-a)*(x-b)*(x-c));//计算三角形的面积
System.out.println(s);//输出面积
}
}
import java.util.Scanner;
public class Test {//定义测试类
public static void main(String[] args) throws TriangleException {
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);//定义扫描键盘输入的对象
int a,b,c;//定义三角形的三条边
a=input.nextInt();//从键盘输入文本,对三角形的三边赋值
b=input.nextInt();
c=input.nextInt();
try {//处理异常
Triangle t=new Triangle(a,b,c);//创建三角形的对象
}catch(TriangleException e) {
e.printStackTrace();//打印异常信息在程序中出错的位置及原因。
}finally {
System.out.println("测试完毕!");//输出信息
}
}
}
结果: