2015-06-29 139 views
2

对不起,但它似乎我有点迷路。形状计算器五角大楼和六边形周边和区域

我目前创建用于2D和3D形状的Shape计算器和我似乎具有与在标题上述形状的问题。

现在我已经约试图利用这个代码特定部分让我五角大楼的地区,我在其他地方看到了这个工作,但无法弄清楚,为什么它甚至不会审查和比较后,在这里工作我的代码?我想有人可能会指出,如果这是解决问题的正确方法,或者我犯了一个错误,我看不到自己?一般需要第二个意见对不起。

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");

其他问题我有我应该如何去应对六角但说实话,上面五角大楼问题是我的主要关注点之前,我移动到了六边形。

+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); 

    }