形状计算器 五边形和六边形的周长和面积

Shape Calculator Pentagon and Hexagon Perimeter and Area

抱歉打扰了,我好像有点迷路了。

我目前正在为 2D 和 3D 形状创建一个形状计算器,我似乎对标题中的上述形状有疑问。

现在我开始尝试使用这个特定的代码部分来获取我的五角大楼的面积,我在其他地方看到过这项工作,但无法弄清楚为什么即使在审查和比较我的代码?我认为有人可能会指出这是否是解决问题的正确方法,或者如果我犯了错误我看不到自己?一般需要第二意见抱歉。

double pen = scan.nextDouble();

double penPerm = pen * 5;

double A1 = pen * Math.sqrt(5);
double A2 = 5 + A1;
double A3 = Math.sqrt(5 * A2);
double PenA = (1.0 / 4.0) * A3 * Math.pow(pen, 2);


System.out.println("Your Perimitre is :" + penPerm + "cm and your Area is :" + PenA + "cm Squared");

我遇到的另一个问题是如何处理六边形,但老实说,在我进入六边形之前,上述五角大楼问题是我主要关心的问题。

对于正五边形你可以试试下面的代码:

public static void main(String[] args) {
    double side = 10;
    double area = (1.0/4.0) * Math.sqrt(5*(5+2*Math.sqrt(5))) * Math.pow(side,2);
    System.out.println("Your Perimitre is :" + 5*side + "cm and your Area is :" + area + "cm Squared");
}

您也可以尝试使用以下代码,将边数 (n) 和边长 (s) 作为输入并计算正多边形的面积:

     public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println(" Enter the number of sides in polygon");
        int n = input.nextInt();

        System.out.println(" Enter the distance between two points");
        double s = input.nextDouble();
        double area = (n * Math.pow(s, 2)) / (4 * Math.tan(Math.PI / n));

        //Print result
        System.out.println (" Area is " + area);
        System.out.println (" Perimeter is " + s*n);

    }