java shape类_Java——Shape类
Description
定義一個(gè)形狀類Shape,提供計(jì)算周長(zhǎng)getPerimeter()和面積getArea()的函數(shù)
定義一個(gè)子類正方形類Square繼承自Shape類,擁有邊長(zhǎng)屬性,提供構(gòu)造函數(shù),能夠計(jì)算周長(zhǎng)getPerimeter()和面積getArea()
定義一個(gè)子類長(zhǎng)方形類Rectangle繼承自Square類,擁有長(zhǎng)、寬屬性,提供構(gòu)造函數(shù),能夠計(jì)算周長(zhǎng)getPerimeter()和面積getArea()
定義一個(gè)子類圓形類Circle繼承自Shape,擁有半徑屬性,提供構(gòu)造函數(shù),能夠計(jì)算周長(zhǎng)getPerimeter()和面積getArea()
在main函數(shù)中,分別構(gòu)造三個(gè)子類的對(duì)象,并輸出他們的周長(zhǎng)、面積.
Input
正方形類的邊長(zhǎng)
長(zhǎng)方形類的長(zhǎng)寬
圓類的半徑
Output
正方形的周長(zhǎng)、面積
長(zhǎng)方形的周長(zhǎng)、面積
圓形的周長(zhǎng)、面積
Sample Input
1
1 2
2
Sample Output
4.00 1.00
6.00 2.00
12.57 12.57
HINT
用System.out.printf("%.2f",d)進(jìn)行格式化輸出
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\n",s.getArea());
length = scan.nextDouble();
double wide = scan.nextDouble();
Rectangle r = new Rectangle(length,wide);
System.out.printf("%.2f ",r.getPerimeter());
System.out.printf("%.2f\n",r.getArea());
double radius = scan.nextDouble();
Circle c = new Circle(radius);
System.out.printf("%.2f ",c.getPerimeter());
System.out.printf("%.2f\n",c.getArea());
scan.close();
}
}
abstract class Shape{
public abstract double getArea();
public abstract double getPerimeter();
}
class Square extends Shape{
private double length;
public Square(double length)
{
this.length = length;
}
public double getArea()
{
return length*length;
}
public double getPerimeter()
{
return 4 * length;
}
}
class Rectangle extends Square{
private double length;
private double wide;
public Rectangle(double length,double wide)
{
super(length);
this.length = length;
this.wide = wide;
}
public double getArea()
{
return length*wide;
}
public double getPerimeter()
{
return (length+wide)*2;
}
}
class Circle extends Shape{
private double radius;
public Circle(double radius)
{
this.radius = radius;
}
public double getArea()
{
return 3.1415926*radius*radius;
}
public double getPerimeter()
{
return 3.1415926*2*radius;
}
}
總結(jié)
以上是生活随笔為你收集整理的java shape类_Java——Shape类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【微信小程序使用阿里巴巴矢量图标库】
- 下一篇: Net基础篇_学习笔记_第十二天_面向对