很抱歉有问题,但似乎我有点失落。
我目前正在为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");
另外一个问题我应该如何处理Hexagon,但说实话,在我进入海克斯康之前,上述五角大楼问题是我的主要关注点。
答案 0 :(得分:0)
对于正五边形,您可以尝试以下代码:
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);
}