我正在尝试制作一系列代码,根据用户输入的高度和半径计算圆锥的体积(见下文)。
我的问题是答案是错误的(但不是很长的路要走)。使用高度 = 5,半径 = 10 的示例,我从 500 的代码中得到答案(将 pi 视为 3),但手动计算我得到 ~523。
我假设它与我在下面声明 pi 的变量类型有关(双倍然后转换为长),但我一直在努力使变量类型的任何其他组合起作用。
下面的正确版本是什么,可以正确存储 pi(至少 5 或 6 个 dec 位置)?
double piDouble = Math.PI;
long height = Long.parseLong(heightString);
long pi = (new Double(piDouble)).longValue();
long radius = Long.parseLong(radiusString);
long volumeBase = (pi*(radius*radius)*height) / 3;