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

从下列的抽象类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.5875
84

程序源码:

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();
    }
}
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值