4.编程实现一个三角形类,从命令行输入三边的长度,计算三角形的面积。采用异常处理方式判断三边是否能构成一个三角形,如果不能抛出 “IllegalArgumentException” 异常,显示“三边不能构成三角形”。java编程
时间: 2024-02-23 20:59:22 浏览: 74
好的,以下是实现该三角形类的Java代码:
```java
import java.util.Scanner;
public class Triangle {
private double a;
private double b;
private double c;
public Triangle(double a, double b, double c) {
this.a = a;
this.b = b;
this.c = c;
}
public double area() {
double s = (this.a + this.b + this.c) / 2;
return Math.sqrt(s * (s - this.a) * (s - this.b) * (s - this.c));
}
public static boolean isValid(double a, double b, double c) {
if (a + b > c && b + c > a && c + a > b) {
return true;
} else {
return false;
}
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
try {
System.out.print("请输入三角形的第一条边长:");
double a = input.nextDouble();
System.out.print("请输入三角形的第二条边长:");
double b = input.nextDouble();
System.out.print("请输入三角形的第三条边长:");
double c = input.nextDouble();
if (Triangle.isValid(a, b, c)) {
Triangle t = new Triangle(a, b, c);
System.out.println("三角形的面积为:" + t.area());
} else {
throw new IllegalArgumentException("三边不能构成三角形");
}
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}
}
}
```
在这个实现中,我们使用了 `java.util.Scanner` 类来获取用户输入的三条边长,并定义了一个 `isValid` 静态方法来判断三条边是否能够构成一个三角形。在 `main` 函数中,我们首先通过 `Scanner` 类获取用户输入的三条边长,并判断是否能够构成一个三角形。如果能够构成三角形,我们创建一个 `Triangle` 对象,并调用其 `area` 方法来计算面积。如果不能构成三角形,则抛出一个 `IllegalArgumentException` 异常,提示用户输入的三边不能构成三角形。最后在 `catch` 块中捕获异常并输出提示信息。
阅读全文