java输入三角形的三条边,求出三角形的面积。当输入的三条边不能组成一个三角形时,请抛出一个异常。
时间: 2023-06-16 15:04:20 浏览: 493
可以使用海伦公式来计算三角形的面积,该公式需要三角形的三条边长作为参数。如果输入的三条边长度无法构成一个三角形,则需要抛出 `IllegalArgumentException` 异常。以下是示例代码:
```java
import java.util.Scanner;
public class TriangleArea {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入三角形的三条边长:");
double side1 = scanner.nextDouble();
double side2 = scanner.nextDouble();
double side3 = scanner.nextDouble();
try {
double area = calculateTriangleArea(side1, side2, side3);
System.out.println("三角形的面积为:" + area);
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}
}
public static double calculateTriangleArea(double side1, double side2, double side3) {
if (side1 + side2 <= side3 || side1 + side3 <= side2 || side2 + side3 <= side1) {
throw new IllegalArgumentException("输入的三条边无法构成一个三角形!");
}
double s = (side1 + side2 + side3) / 2;
double area = Math.sqrt(s * (s - side1) * (s - side2) * (s - side3));
return area;
}
}
```
在上述代码中,我们使用 `Scanner` 类从控制台读取三角形的三条边长,并将它们传递给 `calculateTriangleArea()` 方法来计算三角形的面积。如果输入的三条边长无法构成一个三角形,则该方法将抛出 `IllegalArgumentException` 异常,并将异常的错误消息打印到控制台上。在 `main()` 方法中,我们使用 `try-catch` 块捕获该异常并打印错误消息。