2014-09-30 412 views
-1

我正在做我的第一个JAVA编程的任务。到目前为止,它一直进展顺利,但我坚持使用数学函数的最后一部分。如何使用Math.PI和Math.pow

double radius; 
double diameter; 
double volume; 

System.out.print("Enter a diameter of a sphere: "); 
diameter = keyboard.nextDouble(); 
radius = diameter/2; 
volume = (4/3) * Math.PI * Math.pow(radius, 3.0); 
System.out.print("Volume of the sphere is " + volume + "."); 

我正在尝试使用该公式来查找使用直径输入变量的球体积。但我始终只将PI作为输出。

这就是我应该做的。

  1. 添加一行提示用户输入球体的直径。
  2. 将数字读入并存储到称为直径的变量中(您将需要 声明您使用的任何变量)。
  3. 直径是半径的两倍,所以计算半径并存储在 适当命名的变量中。
  4. 用于球的体积的公式是 V = 4/3 * PI *半径^ 3 转换公式Java和添加在其中一个适当命名变量计算并存储卷的值 的线。使用Math.PI来获得PI和Math.pow 以立方体半径。
  5. 用适当的信息将结果打印到屏幕上。

我在做什么错?另外我怎样才能让音量以E符号显示?

+3

由于Java将使用“整数算术”,因此'(4/3)'计算为**零**。 – 2014-09-30 01:27:44

+0

使用这个公式来代替你的'4 * Math.PI * Math.pow(radius,3.0)/ 3'(参考@ PM77-1看看为什么它是必要的)。 – Dici 2014-09-30 01:30:17

+0

@ PM77-1你应该发布一个更详细的答案让他了解 – Dici 2014-09-30 01:31:33

回答

1

我想你可能会得到一个不正确的答案,因为整数数学中的4/3给1而不是1.33尝试改变你的代码,以下给出的内容。我尝试过,对我工作得很好。

radius = diameter/2.0d; 
volume = (4.0d/3.0d) * Math.PI * Math.pow(radius, 3); 
+0

这是一个很好的(和正确的)评论,但不是答案。 – 2014-09-30 01:29:35

+0

@ PM77-1,好点。我对于一些礼节还是一个新的东西。我想这个帖子已经足够让我作为回答:) – 2014-09-30 01:52:21

+2

你不需要'd'。它默认是'double'。 – 2014-09-30 02:37:04