用java设计一个程序,根据三角形的三边求三角形面积。要求自定义一个异常类IllegaException,在求面积的方法area()中声明抛出这个异常类型,当从键盘输入三条边的数据不能构成三角形时抛出异常。
时间: 2024-04-30 07:18:40 浏览: 98
以下是一个根据三角形的三边求三角形面积的Java程序,同时还包括了自定义的IllegaException异常类:
```java
import java.util.Scanner;
class IllegaException extends Exception {
public IllegaException(String msg) {
super(msg);
}
}
public class TriangleArea {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
try {
System.out.print("请输入三角形的三边:");
double a = sc.nextDouble();
double b = sc.nextDouble();
double c = sc.nextDouble();
double area = area(a, b, c);
System.out.printf("三角形的面积为:%.2f\n", area);
} catch (IllegaException e) {
System.out.println(e.getMessage());
}
}
public static double area(double a, double b, double c) throws IllegaException {
if (a + b <= c || a + c <= b || b + c <= a) {
throw new IllegaException("三条边无法构成三角形!");
}
double p = (a + b + c) / 2;
return Math.sqrt(p * (p - a) * (p - b) * (p - c));
}
}
```
首先,在程序中定义了一个名为IllegaException的异常类,它继承自Exception类,用于表示输入三条边无法构成三角形时抛出的异常。
然后,在主函数中,程序从键盘输入三条边的数据,并调用area()方法计算三角形的面积,如果输入的三条边无法构成三角形,area()方法会抛出IllegaException异常,主函数会捕获这个异常并输出异常信息。
最后,在area()方法中,如果输入的三条边无法构成三角形,就会抛出IllegaException异常,否则就按照海伦公式计算三角形的面积并返回。需要注意的是,在area()方法的声明中需要使用throws关键字声明抛出IllegaException异常。
阅读全文