java输入三角形三边长,计算三角形面积,其中使用自定义异常,处理边长的输入异常。
时间: 2023-10-08 19:06:26 浏览: 168
以下是一个示例代码:
```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 scanner = new Scanner(System.in);
try {
System.out.print("请输入三角形的第一条边长:");
double side1 = scanner.nextDouble();
if (side1 <= 0) {
throw new InvalidTriangleException("边长必须大于零!");
}
System.out.print("请输入三角形的第二条边长:");
double side2 = scanner.nextDouble();
if (side2 <= 0) {
throw new InvalidTriangleException("边长必须大于零!");
}
System.out.print("请输入三角形的第三条边长:");
double side3 = scanner.nextDouble();
if (side3 <= 0) {
throw new InvalidTriangleException("边长必须大于零!");
}
if (side1 + side2 <= side3 || side1 + side3 <= side2 || side2 + side3 <= side1) {
throw new InvalidTriangleException("三条边长无法构成三角形!");
}
double p = (side1 + side2 + side3) / 2;
double area = Math.sqrt(p * (p - side1) * (p - side2) * (p - side3));
System.out.println("三角形的面积为:" + area);
} catch (InvalidTriangleException e) {
System.out.println("输入错误:" + e.getMessage());
} catch (Exception e) {
System.out.println("输入错误:" + e.getMessage());
}
}
}
```
其中,`InvalidTriangleException` 是自定义异常,用于处理边长输入错误的情况。如果输入的边长小于或等于零,或三条边长无法构成三角形,就会抛出该异常。
在 `try` 块中,先依次读取三条边长,并进行输入检查。如果有任何一条边长不符合要求,就会抛出 `InvalidTriangleException` 异常。如果三条边长能够构成三角形,就按照海伦公式计算三角形的面积,并输出结果。
在 `catch` 块中,分别捕获 `InvalidTriangleException` 和其他异常,并输出错误信息。
阅读全文
相关推荐


















