使用java eclipse 自定义类Triangle,其中有成员 x,y,z,作为三边长,构造方法Triangle(a,b,c)分别给x,y,z赋值,方法求面积getArea和显示三角形信息(三个边长)showInfo,这2个方法中当三条边不能构成一个三角形时要抛出自定义异常类NotTriangleException,否则显示正确信息。在另外一个类中的主方法中构造一个Triangle对象(三边为命令行输入的三个整数),显示三角形信息和面积,要求捕获异常。
时间: 2024-03-20 08:44:25 浏览: 155
好的,我来为您解答。请按照以下步骤操作:
1. 在 Eclipse 中创建一个新的 Java 项目,命名为 Triangle。
2. 在该项目下创建一个新的 Java 类 Triangle,定义如下:
```
public class Triangle {
private int x;
private int y;
private int z;
public Triangle(int a, int b, int c) throws NotTriangleException {
if (a + b <= c || a + c <= b || b + c <= a) {
throw new NotTriangleException();
}
this.x = a;
this.y = b;
this.z = c;
}
public double getArea() {
double p = (double) (x + y + z) / 2;
return Math.sqrt(p * (p - x) * (p - y) * (p - z));
}
public void showInfo() {
System.out.println("Triangle: x = " + x + ", y = " + y + ", z = " + z);
}
}
```
该类定义了三个私有属性 x、y、z,分别表示三角形的三条边长。构造方法 Triangle(a,b,c) 接收三个参数,分别表示三角形的三条边长,通过对这三个参数的判断来判断是否构成一个三角形,如果不能构成一个三角形,则抛出自定义异常类 NotTriangleException。方法 getArea() 计算并返回三角形的面积,方法 showInfo() 显示三角形的三个边长。
3. 在该项目下创建一个新的 Java 类 NotTriangleException,定义如下:
```
public class NotTriangleException extends Exception {
public NotTriangleException() {
super("These three sides cannot form a triangle!");
}
}
```
该类继承自 Exception 类,并在构造方法中调用父类的构造方法,设置异常信息。
4. 在该项目下创建一个新的 Java 类 Main,定义如下:
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
try {
Scanner scanner = new Scanner(System.in);
System.out.println("Please input three integers as the sides of the triangle:");
int a = scanner.nextInt();
int b = scanner.nextInt();
int c = scanner.nextInt();
Triangle triangle = new Triangle(a, b, c);
triangle.showInfo();
System.out.println("The area of the triangle is: " + triangle.getArea());
} catch (NotTriangleException e) {
System.out.println(e.getMessage());
}
}
}
```
该类中的 main() 方法接收命令行输入的三个整数作为三角形的三条边长,通过构造方法创建一个 Triangle 对象,并调用该对象的 showInfo() 和 getArea() 方法分别显示三角形的三个边长和面积。如果构造方法抛出了 NotTriangleException 异常,则捕获并打印异常信息。
5. 运行程序,按照提示输入三个整数,程序将会显示三角形的三个边长和面积,如果命令行输入的三个整数不能构成一个三角形,则会显示自定义异常类 NotTriangleException 中设置的异常信息。
阅读全文