参考梯形类的构造方法,设计矩形类和圆形类,并且可以计算面积,用java写
时间: 2024-09-26 19:18:51 浏览: 28
在Java中,我们可以创建一个抽象基类`Shape`,然后分别派生出`Rectangle`和`Circle`两个类,它们都继承自`Shape`并实现计算面积的方法。这里是一个简单的示例:
```java
import java.util.Scanner;
abstract class Shape {
protected double side1, side2; // 对于矩形
protected double radius; // 对于圆
public Shape(double side1, double side2) {
this.side1 = side1;
this.side2 = side2;
}
// 抽象方法,需要在每个子类中实现
abstract double getArea();
public void setDimensions() {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter the dimensions for your shape:");
System.out.print("For Rectangle, enter length and width: ");
side1 = scanner.nextDouble();
side2 = scanner.nextDouble();
System.out.print("For Circle, enter radius: ");
radius = scanner.nextDouble();
scanner.close();
}
}
class Rectangle extends Shape {
public Rectangle(double side1, double side2) {
super(side1, side2);
}
@Override
double getArea() {
return side1 * side2;
}
}
class Circle extends Shape {
public Circle(double radius) {
super(radius);
}
@Override
double getArea() {
return Math.PI * radius * radius;
}
}
public class Main {
public static void main(String[] args) {
Shape myShape;
Scanner input = new Scanner(System.in);
System.out.println("Choose a shape to create:");
System.out.println("1. Rectangle");
System.out.println("2. Circle");
int choice = input.nextInt();
switch (choice) {
case 1:
myShape = new Rectangle(0, 0); // 用户输入初始值
break;
case 2:
myShape = new Circle(0);
break;
default:
System.out.println("Invalid choice.");
return;
}
myShape.setDimensions(); // 获取用户输入的尺寸
System.out.printf("The area of your %s is %.2f%n", myShape.getClass().getSimpleName(), myShape.getArea());
input.close();
}
}
```
在这个例子中,用户可以选择创建矩形或圆形,并输入相应的尺寸。然后通过各自的`getArea()`方法计算并显示其面积。
阅读全文