6-2 从抽象类shape类扩展出子类

该代码示例展示了如何在Java中从抽象类Shape派生出Circle和Rectangle子类,并实现计算面积和周长的方法。用户输入半径和矩形的长宽,程序创建对象并输出它们的面积和周长,结果保留4位小数。
摘要由CSDN通过智能技术生成

请从下列的抽象类Shape类派生出子类Circle和Rectangle,Circle类中应包含初始化半径的构造方法,Rectangle类中应包含初始化长和宽的构造方法;具体如UML图所示。

主类从键盘输入圆形的半径值和矩形的长、宽值,创建对象,然后输出各自的面积和周长。保留4位小数。(注:圆周率用 Math.PI)。

裁判测试程序样例:

 

import java.util.Scanner; import java.text.DecimalFormat; /* 你提交的代码将被嵌入到这里 */ public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); DecimalFormat d = new DecimalFormat("#.####");// 保留4位小数 double r = input.nextDouble( ); Shape c = new Circle(r); System.out.println("圆的面积和周长分别为:"); System.out.println(d.format(c.getArea())); System.out.println(d.format(c.getPerimeter())); double w = input.nextDouble(); double h = input.nextDouble(); c = new Rectangle(w,h); System.out.println("矩形的面积和周长分别为:"); System.out.println(d.format(c.getArea())); System.out.println(d.format(c.getPerimeter())); input.close(); } } /* 请在这里填写答案:定义类(注:请把class前面的public去掉再提交)*/

输入样例:

在这里给出一组输入。例如:

3.1415926
2.1345
3

输出样例:

在这里给出相应的输出。例如:

圆的面积和周长分别为:
31.0063
19.7392
矩形的面积和周长分别为:
6.4035
10.269

代码长度限制

16 KB

时间限制

400 ms

内存限制

代码

abstract class Shape {
    abstract double getArea();
    abstract double getPerimeter();
}
class Rectangle extends Shape{
    private double width;
    private double height;
    Rectangle (double w,double h){
        this.width = w;
        this.height = h;
    }
    double getArea(){
        return width*height;
    }
    double getPerimeter(){
        return width*2 + height*2;
    }
}

class Circle extends Shape{
    double radius;
    Circle(double r){
        this.radius = r;
    }
    double getArea(){
        return Math.PI*radius*radius;
    }
    double getPerimeter(){
        return Math.PI*2*radius;
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值