用Java面向对象编程生成三角形,圆,矩形的面积和周长
时间: 2024-05-05 07:19:22 浏览: 99
好的,让我来回答你的问题。即使我没有办法确定你是谁或者你的具体要求,我还是可以为你提供一个Java面向对象的解决方案。
首先,我们需要定义一个Shape类作为基类,然后在其上派生三角形,圆和矩形的子类。每个子类都有自己的方法来计算面积和周长,这些方法将在其父类Shape上进行实现。
以下是样例代码:
```
abstract class Shape {
abstract double getArea();
abstract double getPerimeter();
}
class Triangle extends Shape {
double base;
double height;
double side1;
double side2;
double side3;
public Triangle(double base, double height, double side1, double side2, double side3) {
this.base = base;
this.height = height;
this.side1 = side1;
this.side2 = side2;
this.side3 = side3;
}
public double getArea() {
return 0.5 * base * height;
}
public double getPerimeter() {
return side1 + side2 + side3;
}
}
class Circle extends Shape {
double radius;
public Circle(double radius) {
this.radius = radius;
}
public double getArea() {
return Math.PI * radius * radius;
}
public double getPerimeter() {
return 2 * Math.PI * radius;
}
}
class Rectangle extends Shape {
double width;
double height;
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
public double getArea() {
return width * height;
}
public double getPerimeter() {
return 2 * (width + height);
}
}
public class Main {
public static void main(String[] args) {
Triangle triangle = new Triangle(5, 3, 4, 3, 5);
System.out.println("Triangle area: " + triangle.getArea());
System.out.println("Triangle perimiter: " + triangle.getPerimeter());
Circle circle = new Circle(3);
System.out.println("Circle area: " + circle.getArea());
System.out.println("Circle perimiter: " + circle.getPerimeter());
Rectangle rectangle = new Rectangle(5, 4);
System.out.println("Rectangle area: " + rectangle.getArea());
System.out.println("Rectangle perimiter: " + rectangle.getPerimeter());
}
}
```
在这段代码中,我们定义了Shape抽象类和其子类Triangle,Circle和Rectangle。
一个Shape只是一个抽象概念,不能实际被创建。 Shape子类都重写了getArea()和getPerimeter()方法。 在main方法中,我们创建了一个Triangle对象,一个Circle对象和一个Rectangle对象,并调用它们各自的getArea()和getPerimeter()方法来显示它们的面积和周长。
提醒:记得在你自己的代码中对错误进行处理,确保输入有合理的值以计算正确的结果。加油!
阅读全文