用户注册



邮箱:

密码:

用户登录


邮箱:

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

发表随想


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

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();
		Shape s = new Square(length);
		System.out.printf("%.2f ", s.getPerimeter());
		System.out.printf("%.2f\n", s.getArea());

		length = scan.nextDouble();
		double wide = scan.nextDouble();
		Shape r = new Rectangle(length, wide);
		System.out.printf("%.2f ", r.getPerimeter());
		System.out.printf("%.2f\n", r.getArea());

		double radius = scan.nextDouble();
		Shape c = new Circle(radius);
		System.out.printf("%.2f ", c.getPerimeter());
		System.out.printf("%.2f\n", c.getArea());

		scan.close();
	}
}

abstract class Shape {
	private double length;
	private double wide;
	public Shape(double len) {
		length = len;
	}
	public Shape(double len, double wi) {
		length = len;
		wide = wi;
	}
	public double getLength() {
		return length;
	}
	public double getWide() {
		return wide;
	}
	public abstract double getPerimeter();
	public abstract double getArea();
}

class Square extends Shape {
	public Square(double len) {
		super(len, len);
	}
	public Square(double len, double wi) {
		super(len, wi);
	}
	public double getLength() {
		return super.getLength();
	}
	public double getWide() {
		return super.getWide();
	}
	public double getPerimeter() {
		return 2*(super.getLength()+super.getWide());
	}
	public double getArea() {
		return super.getLength()*super.getWide();
	}
}

class Rectangle extends Square{ 
    public Rectangle(double len, double wi) { 
        super(len, wi); 
    } 
    public double getPerimeter() {
    	return 2*(super.getLength()+super.getWide());
    } 
    public double getArea() { 
    	return super.getLength()*super.getWide(); 
    } 
}

class Circle extends Shape{ 
    public Circle(double len) { 
        super(len); 
    } 
    public double getPerimeter() { 
        return 2*3.14159*super.getLength(); 
    } 
    public double getArea() { 
        return 3.14159*super.getLength()*super.getLength(); 
    } 
} 


网友评论    (发表评论)


发表评论:

评论须知:

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


扫码下载

加载中,请稍后...

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

加载中,请稍后...