2014-09-30 47 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