java输入三角形的三条边,求出三角形的面积。当输入的三条边不能组成一个三角形时,请抛出一个异常。三角形面积=Math.sqrt(s*(s-a)*(s-b)*(s-c),其中s=1/2(a+b+c))
时间: 2023-06-16 13:04:17 浏览: 191
可以通过以下代码实现:
```java
import java.util.Scanner;
public class TriangleArea {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
try {
System.out.print("输入三角形的第一条边:");
double a = scanner.nextDouble();
System.out.print("输入三角形的第二条边:");
double b = scanner.nextDouble();
System.out.print("输入三角形的第三条边:");
double c = scanner.nextDouble();
double s = (a + b + c) / 2;
if (a + b <= c || a + c <= b || b + c <= a) {
throw new IllegalArgumentException("输入的三条边不能组成一个三角形!");
}
double area = Math.sqrt(s * (s - a) * (s - b) * (s - c));
System.out.println("三角形的面积为:" + area);
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
scanner.close();
}
}
}
```
其中,通过Scanner类获取用户输入的三条边a、b、c,然后计算出s的值。接着,判断输入的三条边能否组成一个三角形,如果不能,则抛出一个IllegalArgumentException异常;否则,根据公式计算出三角形的面积。最后,通过try-catch-finally语句块处理异常和关闭Scanner对象。
阅读全文