#java #math #formula #calculator
#java #математика #формула #калькулятор
Вопрос:
Кажется, я не могу понять, почему вычисление для объема дает мне неправильные числа. При радиусе 4.2 объем должен быть около 310. Я также на 99% уверен, что моя формула также верна.
package ch3_program2;
import java.util.Scanner;
public class SphereCalculations {
public static void main(String[] args) {
double r;
System.out.println("Welcome to the Sphere Calculator.");
Scanner scan = new Scanner(System.in);
System.out.print("Enter the sphere's radius: ");
r = scan.nextDouble();
System.out.println();
System.out.println("The Results are:");
System.out.println("Radius: " r);
System.out.println("Volume: " 4/3 * Math.PI * Math.pow(r, 3));
System.out.println("Surface area: " 4 * Math.PI * Math.pow(r, 2));
scan.close();
}
}
Результат, который я получаю:
Добро пожаловать в калькулятор сфер.
Введите радиус сферы: 4.2
Результаты таковы:
Радиус: 4.2
Объем:
232.75431651916062 Площадь поверхности: 221.6707776372958
Ответ №1:
Ваша проблема — целочисленная арифметика: 4/3
есть 1
.
Измените 4/3
на 4D/3
или поменяйте Math.PI * 4/3
местами, чтобы принудительно double
выполнить арифметику.