用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - java代码库

Shape-3,把Shape2的shape类改为抽象类

2018-09-29 作者: 芙蓉妹妹举报

[java]代码库

import java.util.Scanner;
public class Main{
    public static void main(String[] args) {
         Scanner scan = new Scanner(System.in);     
    
         double length = scan.nextDouble();
         Square s = new Square(length);
         System.out.printf("%.2f ",s.getPerimeter());
         System.out.printf("%.2f",s.getArea());
         System.out.println();
         
         length = scan.nextDouble();
         double wide = scan.nextDouble();
         Rectangle r = new Rectangle(length,wide);
         System.out.printf("%.2f ",r.getPerimeter());
         System.out.printf("%.2f",r.getArea());
         System.out.println();
         
         double radius = scan.nextDouble();
         Circle  c = new Circle (radius);
         System.out.printf("%.2f ",c.getPerimeter());
         System.out.printf("%.2f ",c.getArea());
 
         scan.close();
    }
}
abstract class Shape
{
    public abstract double getPerimeter();
    public abstract double getArea();
}
class Square extends Shape
{
    private double length;
    public Square(double l)
    {
        length = l;
    }
    public double getLength()
    {
        return length;
    }
    public double getPerimeter()
    {
        return length*4;
    }
    public double getArea()
    {
        return length*length;
    }
}
class Rectangle extends Square
{
    private double wide;
    public Rectangle(double l, double w)
    {
        super(l);
        wide = w;
    }
    public double getPerimeter()
    {
        return (super.getLength()+wide)*2;
    }
    public double getArea()
    {
        return super.getLength()*wide;
    }
}
class Circle extends Shape
{
    private double r;
    public Circle(double _r)
    {
        r = _r;
    }
    public double getPerimeter()
    {
        return 3.14159*r*2;
    }
    public double getArea()
    {
        return 3.14159*r*r;
    }
}


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...