使用封装编写三角形类triangle,其有边长a、b、c及有参构造方法获得三个边长。有参方法showarea()显示三角形周长,自定义异常类triangleexception,当在测试类triangl
时间: 2023-04-26 22:04:58 浏览: 118
Triangle-and-cylinder-class-package.rar_Math Class_三角形的类
5星 · 资源好评率100%
e中输入的三边无法构成三角形时,抛出该异常。
好的,以下是使用封装编写三角形类triangle的代码:
```java
public class Triangle {
private double a;
private double b;
private double c;
public Triangle(double a, double b, double c) throws TriangleException {
if (a + b <= c || a + c <= b || b + c <= a) {
throw new TriangleException("无法构成三角形");
}
this.a = a;
this.b = b;
this.c = c;
}
public double getA() {
return a;
}
public void setA(double a) {
this.a = a;
}
public double getB() {
return b;
}
public void setB(double b) {
this.b = b;
}
public double getC() {
return c;
}
public void setC(double c) {
this.c = c;
}
public double getPerimeter() {
return a + b + c;
}
public void showArea() {
double p = getPerimeter() / 2;
double area = Math.sqrt(p * (p - a) * (p - b) * (p - c));
System.out.println("三角形的面积为:" + area);
}
}
```
在上面的代码中,我们使用了封装的思想,将三角形的边长a、b、c都设为私有属性,并提供了对应的getter和setter方法。同时,我们还提供了一个有参构造方法,用于初始化三角形的三个边长,并在构造方法中判断三个边长是否能够构成三角形,如果不能,则抛出自定义的异常类TriangleException。
除此之外,我们还提供了一个计算三角形周长的方法getPerimeter()和一个显示三角形面积的方法showArea()。
以下是自定义异常类TriangleException的代码:
```java
public class TriangleException extends Exception {
public TriangleException(String message) {
super(message);
}
}
```
在上面的代码中,我们继承了Exception类,并提供了一个有参构造方法,用于传入异常信息。这样,在测试类TriangleTest中,当我们输入的三个边长无法构成三角形时,就会抛出TriangleException异常。
以下是测试类TriangleTest的代码:
```java
import java.util.Scanner;
public class TriangleTest {
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 {
Triangle triangle = new Triangle(a, b, c);
System.out.println("三角形的周长为:" + triangle.getPerimeter());
triangle.showArea();
} catch (TriangleException e) {
System.out.println("输入的三个边长无法构成三角形!");
e.printStackTrace();
}
}
}
```
在上面的代码中,我们使用了Scanner类来获取用户输入的三个边长,并在try-catch语句中创建了Triangle对象,如果输入的三个边长无法构成三角形,则会抛出TriangleException异常,并在catch语句中捕获该异常并输出异常信息。
希望以上代码能够帮助您理解如何使用封装编写三角形类triangle,并实现自定义异常类TriangleException。
阅读全文