定义一个三角形类myTriangle并在另一类中使用,其中myTriangle类包含边长a,b,c三个私有成员变量,和计算面积、周长、是否为等边三角形、修改a,b,c等方法。要求另一个类中使用myTriangle的方法,且能获取、修改a,b,c的值。
时间: 2024-11-24 17:41:58 浏览: 4
首先,我们可以定义一个名为`MyTriangle`的类,它代表一个三角形,包含三个私有成员变量`_a`, `_b`, 和 `_c`,分别表示三角形的三条边长。这个类还需要提供一些公共方法:
```java
public class MyTriangle {
private double _a;
private double _b;
private double _c;
// 构造函数
public MyTriangle(double a, double b, double c) {
if (a + b > c && a + c > b && b + c > a) {
_a = a;
_b = b;
_c = c;
} else {
throw new IllegalArgumentException("Invalid triangle sides");
}
}
// 计算面积的方法
public double getArea() {
double s = (_a + _b + _c) / 2; // 半周长
return Math.sqrt(s * (s - _a) * (s - _b) * (s - _c));
}
// 计算周长的方法
public double getPerimeter() {
return _a + _b + _c;
}
// 判断是否为等边三角形的方法
public boolean isEquilateral() {
return _a == _b && _b == _c;
}
// 修改边长的方法
public void setSideLength(double newA, double newB, double newC) {
if (newA + newB > newC && newA + newC > newB && newB + newC > newA) {
_a = newA;
_b = newB;
_c = newC;
} else {
throw new IllegalArgumentException("Invalid side lengths");
}
}
// 获取边长的方法
public double getSideLength(int i) {
switch (i) {
case 0:
return _a;
case 1:
return _b;
case 2:
return _c;
default:
throw new IllegalArgumentException("Invalid index for side length");
}
}
}
```
然后,在另一个类中,我们可以实例化`MyTriangle`对象并操作它的属性和方法:
```java
public class MainClass {
public static void main(String[] args) {
MyTriangle triangle = new MyTriangle(3.0, 4.0, 5.0); // 创建一个直角三角形
System.out.println("Area: " + triangle.getArea());
System.out.println("Perimeter: " + triangle.getPerimeter());
// 判断是否为等边三角形
if (triangle.isEquilateral()) {
System.out.println("It's an equilateral triangle.");
} else {
System.out.println("It's not an equilateral triangle.");
}
// 修改边长
triangle.setSideLength(6.0, 7.0, 8.0);
System.out.println("After modification, sides are: " + triangle.getSideLength(0) + ", "
+ triangle.getSideLength(1) + ", " + triangle.getSideLength(2));
// 获取边长
try {
System.out.println("Side 0 length: " + triangle.getSideLength(0));
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}
}
}
```
阅读全文