编写类Circle和Square实现Shape接口,分别代表圆形和正方形,实现getArea()方法求对应图形的面积。在公共类Test的主方法中编程从键盘依次输入圆半径和正方形边长,调用图形类输出两个图形的面积。 要求:使用Math类中的常量PI,输出保留1位小数。
时间: 2024-03-05 19:47:39 浏览: 77
好的,以下是实现的代码:
```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 sc = new Scanner(System.in);
// 输入圆半径
System.out.print("请输入圆半径:");
double radius = sc.nextDouble();
Circle circle = new Circle(radius);
System.out.printf("圆的面积为:%.1f\n", circle.getArea());
// 输入正方形边长
System.out.print("请输入正方形边长:");
double side = sc.nextDouble();
Square square = new Square(side);
System.out.printf("正方形的面积为:%.1f\n", square.getArea());
sc.close();
}
}
```
在上面的代码中,我们定义了Shape接口,包含一个getArea()方法,用于计算图形的面积。然后我们实现了Circle和Square两个类,分别代表圆形和正方形,实现Shape接口中的getArea()方法。
在主方法中,我们从键盘依次输入圆半径和正方形边长,创建对应的Circle和Square对象,调用getArea()方法计算面积,并使用printf()方法输出结果,保留1位小数。
阅读全文