Я пытаюсь найти площадь многоугольника, используя следующую формулу:
Площадь = r ^ 2 n sin (2 π / n) / 2
, где n - это количество сторон и r это радиус. Я не думаю, что мой код дает правильный результат. Если n = 6 и r = 4, я получаю область 24. Мой код выглядит следующим образом:
import java.math.*;
publi c class RegularPolygon {
private int n; // number of vertices
private double r; //radius of the polygon
/**
* This is the full constructor
* @param n is the number of vertices
* @param r is the radius
*/
public RegularPolygon(int n, double r) {
super();
this.n = n;
this.r = r;
}
/**
* default constructor. Sets number of sides and radius to zero
*/
public RegularPolygon() {
super();
this.n = 0;
this.r = 0;
}
//getters and setters for Number of vertices "n" and radius "r".
public int getN() {
return n;
}
public void setN(int n) {
this.n = n;
}
public double getR() {
return r;
}
public void setR(double r) {
this.r = r;
}
@Override
public String toString() {
return "RegularPolygon [n=" + n + ", r=" + r + "]";
}
public double area(){
float area;
//this method returns the area of the polygon
//Use Math.PI and Math.sin as needed
return area = (float) (Math.pow(r, 2)* n * ( Math.sin(Math.PI / n)/2));
It Мне неясно, где мой порядок операций испорчен.