用java编写定义一个三角形类Triangle,要求提供3条边长信息,以及求周长、求面积等行为。然后再定义一个测试类TriangleTest,作为主程序来测试Triangle类。一些要求如下: (1)边长数据类型为普通整型即可,不能为负数。 (2)提供一个boolean型的私有成员canTri,用于判断三条边长能否构成三角形,并用公开方法isTri返回该私有成员变量canTri的状态。 (3)提供求周长的方法。 (4)提供求面积的方法。使用海伦公式:
时间: 2024-03-13 12:43:44 浏览: 94
好的,我来写一下:
Triangle类的代码如下:
```java
public class Triangle {
private int a;
private int b;
private int c;
private boolean canTri;
public Triangle(int a, int b, int c) {
this.a = a;
this.b = b;
this.c = c;
canTri = isTriangle(a, b, c);
}
public boolean isTri() {
return canTri;
}
public int getPerimeter() {
if (canTri) {
return a + b + c;
} else {
return -1;
}
}
public double getArea() {
if (canTri) {
double p = (a + b + c) / 2.0;
return Math.sqrt(p * (p - a) * (p - b) * (p - c));
} else {
return -1.0;
}
}
private boolean isTriangle(int a, int b, int c) {
if (a <= 0 || b <= 0 || c <= 0) {
return false;
}
if (a + b > c && a + c > b && b + c > a) {
return true;
} else {
return false;
}
}
}
```
TriangleTest类的代码如下:
```java
import java.util.Scanner;
public class TriangleTest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入三角形的三条边长:");
int a = scanner.nextInt();
int b = scanner.nextInt();
int c = scanner.nextInt();
Triangle triangle = new Triangle(a, b, c);
if (triangle.isTri()) {
System.out.println("三角形的周长为:" + triangle.getPerimeter());
System.out.println("三角形的面积为:" + triangle.getArea());
} else {
System.out.println("输入的三条边长不能构成三角形!");
}
}
}
```
在TriangleTest类中,我们通过Scanner来获取用户输入的三角形三条边长,然后创建Triangle对象,调用它的方法来计算三角形的周长和面积,最后输出结果。
阅读全文