用面向对象的方法,编写2道程序,第一个是输入三角形的三边长,求三角形面积。第二个是输入圆柱体的底圆半径和高,求圆柱体的体积。2道程序都要求使用构造函数来完成对象数据成员的初始化。
时间: 2024-10-08 07:19:32 浏览: 43
首先,我们来看第一个关于计算三角形面积的程序。在这个例子中,我们可以创建一个名为`Triangle`的类,它包含三个私有变量表示三角形的三条边长,以及一个构造函数用于初始化这些值:
```java
public class Triangle {
private double sideA;
private double sideB;
private double sideC;
// 构造函数
public Triangle(double a, double b, double c) {
this.sideA = a;
this.sideB = b;
this.sideC = c;
if (isValidTriangle()) {
// 计算前两个条件下的面积(海伦公式)
double s = (sideA + sideB + sideC) / 2;
area = Math.sqrt(s * (s - sideA) * (s - sideB) * (s - sideC));
} else {
throw new IllegalArgumentException("Invalid triangle sides");
}
}
// 非法三角形检查
private boolean isValidTriangle() {
return sideA > 0 && sideB > 0 && sideC > 0 && sideA + sideB > sideC && sideA + sideC > sideB && sideB + sideC > sideA;
}
// 访问面积的方法
public double getArea() {
return area;
}
}
// 使用示例
public static void main(String[] args) {
Triangle triangle = new Triangle(3, 4, 5);
System.out.println("Triangle area: " + triangle.getArea());
}
```
接下来,对于计算圆柱体体积的部分,我们可以创建一个名为`Cylinder`的类,同样包含两个私有变量表示半径和高度,以及构造函数进行初始化:
```java
public class Cylinder {
private double radius;
private double height;
// 构造函数
public Cylinder(double r, double h) {
this.radius = r;
this.height = h;
volume = calculateVolume();
}
// 计算圆柱体积的方法
private double calculateVolume() {
return Math.PI * radius * radius * height;
}
// 获取体积的方法
public double getVolume() {
return volume;
}
}
// 圆柱体体积计算示例
public static void main(String[] args) {
Cylinder cylinder = new Cylinder(2, 5);
System.out.println("Cylinder volume: " + cylinder.getVolume());
}
```
这两个程序都利用了构造函数对对象的数据成员进行了初始化,并且提供了相应的方法访问计算结果。在实际运行时,你可以根据需要输入相应的参数。
阅读全文