我希望你能帮我解决这个问题。我试图找到五角大楼的区域。我知道公式,但我的答案与正确答案不符。
我应该能够通过使用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);
}
答案 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);