用于计算五边形面积的JAVA公式

时间:2015-09-21 19:36:12

标签: java formula

我希望你能帮我解决这个问题。我试图找到五角大楼的区域。我知道公式,但我的答案与正确答案不符。

我应该能够通过使用math.sqrt来获得该区域,但我正在粗略地简化公式并将其组合以使输出正确。

这是我的代码

System.out.println("What shape do you need to know the area of?\n" +
    "1: Determine the Area of a Square?\n" +
    "2: Determine the Area of a Circle?\n" +
    "3: Determine the Area of a Ellipse?\n" +
    "4: Determine the Area of a Pentagon? \n" +
    "5: Exit\n"     
    );

    Scanner reader = new Scanner(System.in);
    System.out.println("Selection: ");
    int input = reader.nextInt();
    reader.nextLine();

    Scanner scan = new Scanner(System.in);

    }
if (input == 4){
        System.out.println("What is a length of 1 side of the Pentagon? ");
        int n = scan.nextInt();
    // Calculate the area based on formula
        double area = (n * Math.pow(n, 2)) / (4 * Math.tan(Math.PI / n));
    //Print result
        System.out.println (" Area of regular pentagon is " + area);
    }

4 个答案:

答案 0 :(得分:1)

double area = (n * Math.pow(n, 2)) / (4 * Math.tan(Math.PI / n));

以上不是正五边形区域的正确公式(n =边长)。正确的公式是

double area = (5 * n * n)) / (4.0 * Math.tan(Math.PI / 5));

答案 1 :(得分:0)

五倍于构成五边形的三角形之一。

如果您无法确定该三角形的区域,请记住它的平行四边形区域的1/2是由两个粘在一起的三角形组成的(在对角线上以相等的角度连接三角形)

如果您无法确定平行四边形的面积,那么其中一条平行边的长度乘以平行边之间的垂直距离。

答案 2 :(得分:0)

Wikipedia给出五角星区域的公式为1.72 * n ^ 2 您可以使用area = 1.720477 * n * n来获得更高的精度

答案 3 :(得分:0)

常规五边形的区域为=〜1.7204774*s^2,五边形的一侧为s,因此您应将计算替换为:

// Calculate the area based on formula
    double area = (n * n * 1.7204774);