题目:
设计一个Shape接口和它的两个实现类Square和Circle类,要求如下:
(1)Shape接口中有一个抽象方法area(),方法中无参数,返回一个double类型的结果。
(2)Square中实现了Shape接口中的area()抽象方法,求正方形的面积并返回;定义一个边长属性a;定义Square含一个参数的构造方法,构造方法中初始化a,并输出“创建了边长为a的正方形”。
(3)Circle中实现了Shape接口中的area()抽象方法,求圆形的面积并返回;定义一个半径属性r;定义Circle含一个参数的构造方法,构造方法中初始化r,并输出“创建了半径为r的圆”。
在测试Main类中从键盘中输入两个double的a,r值,分别创建Square和Circle对象,分别调用对应的方法计算其面积,结果保留2位小数(输出几位小数用System.out.printf(“%.2f\n”,s))。
测试说明:
测试中有多个样例:
输入样例1:
2
3
输出样例1:
创建了边长为2.0的正方形
创建了半径为3.0的圆
正方形的面积为:4.00
圆的面积为:28.27
输入样例2:
4.5
6.7
输出样例2:
创建了边长为4.5的正方形
创建了半径为6.7的圆
正方形的面积为:20.25
圆的面积为:141.03
代码:
//用GBK编码提交
import java.util.*;
public class Xingyuxingxi {
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
double a= sc.nextDouble();
double b= sc.nextDouble();
System.out.println("创建了边长为"+a+"的正方形");
System.out.println("创建了半径为"+b+"的圆");
a=a*a;//直接算面积
b=b*b*Math.PI;//Math方法中提供PI
System.out.printf("正方形的面积为:%.2f\n",a);
System.out.printf("圆的面积为:%.2f\n",b);
}}
}