Надеюсь, вы сможете помочь мне с этим. Я пытаюсь найти область пятиугольника. Я знаю формулу, однако мой ответ не соответствует правильному ответу.JAVA Формула для расчета площади пентагона
Я должен иметь возможность получить область, используя 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);
}
Ну, какова эталонная формула, которую вы используете? – OldProgrammer
Приведите пример ... для некоторого 'n', что вы ожидаете и чего вы на самом деле получаете? Глядя на ваш код, можно предположить, что вы смешиваете целочисленную и float/double арифметику. Получите ввод как int, затем преобразуйте его в double; используйте double в вычислении. –
глядя на формулу, кажется, вы используете n для количества сторон и длины стороны. Я предполагаю, что первое и последнее появление n должно быть фактически 5. – Henry