编写类Circle和Square实现Shape接口,分别代表圆形和正方形,实现getArea()方法求对应图形的面积。在公共类Test的主方法中编程从键盘依次输入圆半径和正方形边长,调用图形类输出两个图形的面积。 要求:使用Math类中的常量PI,输出保留1位小数。
时间: 2024-03-05 13:47:35 浏览: 48
好的,以下是 Java 代码实现:
```java
import java.util.Scanner;
interface Shape {
double getArea();
}
class Circle implements Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
public double getArea() {
return Math.PI * radius * radius;
}
}
class Square implements Shape {
private double side;
public Square(double side) {
this.side = side;
}
@Override
public double getArea() {
return side * side;
}
}
public class Test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double radius = scanner.nextDouble(); // 输入圆半径
double side = scanner.nextDouble(); // 输入正方形边长
Shape circle = new Circle(radius);
Shape square = new Square(side);
System.out.printf("%.1f %.1f", circle.getArea(), square.getArea()); // 输出结果,保留 1 位小数
}
}
```
首先,我们定义接口 `Shape`,其中包含一个抽象方法 `getArea()`,用于求图形的面积。接着,我们实现 `Circle` 类和 `Square` 类分别代表圆形和正方形,它们都实现了 `Shape` 接口,并且分别重写了 `getArea()` 方法,用于计算对应图形的面积。在 `Test` 类的主方法中,我们使用 `Scanner` 类从控制台读入圆半径和正方形边长,然后创建 `Circle` 对象和 `Square` 对象。最后,使用 `System.out.printf` 方法输出两个图形的面积,保留 1 位小数。
阅读全文