计算正五边形的面积和周长

来源:互联网 发布:如何做好网络销售 编辑:程序博客网 时间:2024/04/30 03:45

从下列的抽象类shape类扩展出一个正五边形(regular pentagon)类RPentagon,这个类将正五边形的边长作为私有成员,类中包含初始化这个值的构造方法。

public abstract class shape {// 抽象类

/ 抽象方法 求面积 / public abstract double getArea();

/ 抽象方法 求周长 / public abstract double getPerimeter(); }

请编程从键盘输入正五边形的边长值,创建一个正五边形对象,然后输出正五边形的面积和正五边形的周长。计算正五边形的面积公式为: S=5a^2/(4tan(36度))其中a为边长。 或者:S=(1/4)a^2√(25+10√5) 输出结果保留4位小数。

输入格式:

输入正五边形的边长。例如:

5

输出格式:

输出正五边形的面积和周长。第一行输出面积,第二行输出周长。例如: 43.0119

25

输入样例:

16.8 

输出样例:

485.587584

程序源码:

import java.text.DecimalFormat;import java.util.Scanner;abstract class shape {// 抽象类public abstract double getArea(); public abstract double getPerimeter(); }class RPentagon extends shape{private double a;    @Override    public double getArea() {        // TODO 自动生成的方法存根        return 5*Math.pow(a,2)/(4*Math.tan(36*Math.PI/180));    }    @Override    public double getPerimeter() {        // TODO 自动生成的方法存根        return 5*a;    }    public RPentagon(double a1)    {        a=a1;    }    }public class Main{    public static void main(String[]args)    {        DecimalFormat df=new DecimalFormat("#.####");        Scanner in=new Scanner(System.in);        RPentagon r=new RPentagon(in.nextDouble());        System.out.println(df.format(r.getArea()));        System.out.println(df.format(r.getPerimeter()));        in.close();    }}
0 0
原创粉丝点击