java输入三角形的三条边,求出三角形的面积。当输入的三条边不能组成一个三角形的时候,请抛出一个异常
时间: 2024-05-02 21:16:40 浏览: 93
C语言实验-从键盘输入三角形三个边的长度,计算该三角形的面积。若输入的三条边不能构成三角形。则直接输出信息“不能构成三角形!”
5星 · 资源好评率100%
可以海龙公式(Heron's formula)来计算三角形面积,公式如下:
$$
S=\sqrt{p(p-a)(p-b)(p-c)}
$$
其中,$p$ 是半周长,也就是三条边的和的一半:
$$
p = \frac{a+b+c}{2}
$$
如果输入的三条边不能组成一个三角形,那么其中必有一条边的长度大于等于另外两条边的长度之和。因此,我们可以在计算海龙公式前先判断输入的三条边是否能组成一个三角形,如果不能,就抛出一个异常。
下面是一个使用 Java 实现的示例代码:
```java
import java.util.Scanner;
public class TriangleArea {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入三角形的三条边:");
double a = scanner.nextDouble();
double b = scanner.nextDouble();
double c = scanner.nextDouble();
try {
double area = getTriangleArea(a, b, c);
System.out.println("三角形的面积为:" + area);
} catch (IllegalArgumentException e) {
System.out.println("输入的三条边不能组成一个三角形!");
}
}
public static double getTriangleArea(double a, double b, double c) throws IllegalArgumentException {
if (a >= b + c || b >= a + c || c >= a + b) {
throw new IllegalArgumentException("输入的三条边不能组成一个三角形!");
}
double p = (a + b + c) / 2;
double area = Math.sqrt(p * (p - a) * (p - b) * (p - c));
return area;
}
}
```
在上面的代码中,我们使用了 `try-catch` 语句来捕获可能抛出的异常。如果捕获到了异常,就会输出一条错误提示信息。如果没有捕获到异常,就会计算三角形的面积并输出。
阅读全文