编写一个Java程序,编一个程序计算三角形的面积。要求自定义异常类,当所输入的数据不能构成三角形时,若计算面积,给出错误提示信息。
时间: 2024-05-14 19:15:21 浏览: 5
好的,以下是Java程序的示例代码:
```java
import java.util.Scanner;
class InvalidTriangleException extends Exception {
public InvalidTriangleException(String message) {
super(message);
}
}
public class TriangleArea {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入三角形的三边长:");
double a = input.nextDouble();
double b = input.nextDouble();
double c = input.nextDouble();
input.close();
try {
double s = (a + b + c) / 2;
double area = Math.sqrt(s * (s - a) * (s - b) * (s - c));
if (Double.isNaN(area)) {
throw new InvalidTriangleException("输入的三边长无法构成三角形!");
}
System.out.printf("三角形的面积是:%.2f\n", area);
} catch (InvalidTriangleException ex) {
System.out.println(ex.getMessage());
}
}
}
```
在这个程序中,我们自定义了一个名为`InvalidTriangleException`的异常类,当输入的三边长不能构成三角形时,我们抛出该异常。然后在`main`方法中,我们通过计算三角形的面积来检查输入的三边长是否可以构成三角形,如果面积计算结果为`NaN`,则说明输入的三边长无法构成三角形,此时我们就抛出自定义的异常。如果计算结果不为`NaN`,则说明输入的三边长可以构成三角形,此时我们就输出计算得到的面积。