用户定义 10 个三角形,放入一个数组中。找出其中既是等腰三角形又是直角三角形的三 角形,放入新的数组中,求出他们的各自面积和周长。用动态数组来实现此功能。
时间: 2024-10-28 09:07:23 浏览: 8
python打印直角三角形与等腰三角形实例代码
5星 · 资源好评率100%
首先,我们要创建一个用户自定义的三角形类,包含判断是否为等腰和直角三角形的方法,以及计算面积和周长的属性和函数。然后,我们可以动态地创建并存储10个这样的三角形到数组中。接下来,遍历数组,筛选出满足条件的三角形,将它们放入一个新的数组,并计算各自的面积和周长。
```java
// 定义三角形类
class Triangle {
private double a, b, c;
// 构造函数、判断是否为等腰和直角三角形、计算面积和周长的方法省略...
public boolean isEquilateral() {
return a == b && b == c; // 等边三角形
}
public boolean isRightangled() {
// 判断是否直角三角形的条件...
}
public double getArea() {
// 计算面积的方法...
}
public double getPerimeter() {
// 计算周长的方法...
}
}
public class Main {
public static void main(String[] args) {
int n = 10;
Triangle[] triangles = new Triangle[n];
// 创建并初始化三角形数组...
for (int i = 0; i < n; i++) {
triangles[i] = new Triangle(...);
}
// 创建新数组存储符合条件的三角形
Triangle[] specialTriangles = new Triangle[0];
for (Triangle t : triangles) {
if (t.isEquilateral() && t.isRightangled()) {
specialTriangles = Arrays.copyOf(specialTriangles, specialTriangles.length + 1);
specialTriangles[specialTriangles.length - 1] = t;
System.out.println("添加了三角形,面积: " + t.getArea() + ", 周长: " + t.getPerimeter());
}
}
// 输出特殊三角形的相关信息
if (specialTriangles.length > 0) {
for (int i = 0; i < specialTriangles.length; i++) {
System.out.println("第" + (i+1) + "个特殊三角形: 面积 " + specialTriangles[i].getArea() + ", 周长 " + specialTriangles[i].getPerimeter());
}
} else {
System.out.println("没有找到既是等腰又是直角的三角形");
}
}
}
```
阅读全文