用Java编写,创造图形类为父类,包含边长信息,求面积的方法,圆形类,正方形类分别继承图形类,重写求面积方法并输出面积,输入为"图形名称\n边长\n",若不存在该图形类,输出"cant,否则输出为"面积为:面积大小\n"(结果保留两位小数)
时间: 2024-11-18 20:15:59 浏览: 10
JAVA继承类求几何图形面积周长代码.doc
5星 · 资源好评率100%
好的,首先我们需要创建一个`图形`类作为父类,包含基本的边长信息以及求面积的方法。然后我们可以创建`圆形`和`正方形`类,它们都继承自`图形`类,并重写求面积的方法。这里是一个简单的示例:
```java
// 图形类
abstract class Graphic {
protected double sideLength;
public Graphic(double sideLength) {
this.sideLength = sideLength;
}
// 抽象方法,所有子类都需要实现
abstract double getArea();
public void printArea() {
System.out.printf("面积为: %.2f\n", getArea());
}
}
// 圆形类,继承图形类
class Circle extends Graphic {
public Circle(double radius) {
super(radius * 2); // 圆的面积公式基于半径,所以边长大于等于直径
}
@Override
double getArea() {
return Math.PI * Math.pow(sideLength / 2, 2);
}
}
// 正方形类,继承图形类
class Square extends Graphic {
public Square(double side) {
super(side);
}
@Override
double getArea() {
return Math.pow(sideLength, 2);
}
}
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.print("请输入图形名称(circle/square/退出)\n");
String shapeName = scanner.nextLine();
if (shapeName.equalsIgnoreCase("退出")) break;
if (!shapeName.equalsIgnoreCase("circle") && !shapeName.equalsIgnoreCase("square")) {
System.out.println("cant");
continue;
}
System.out.print("请输入边长:\n");
double sideLength = scanner.nextDouble();
Graphic graphic;
if (shapeName.equalsIgnoreCase("circle")) {
graphic = new Circle(sideLength);
} else {
graphic = new Square(sideLength);
}
graphic.printArea();
}
scanner.close();
}
}
```
当你运行这个程序,按照提示输入图形名称和边长,它会根据输入创建相应的图形对象并计算其面积。如果输入的名称无效,程序会输出"cant"。
阅读全文