2017-04-10 36 views
1

我得到此錯誤「錯誤:不兼容的類型:可能有損於從雙倍轉換爲浮點」轉換爲卷。作爲浮點的球體的體積

Scanner keyboard = new Scanner(System.in); 
    float radius = keyboard.nextFloat(); 
    float area; 
    float volume; 

    area = (float)(4.0*Math.PI*radius*radius); 
    volume = (float)(4.0/3) * Math.PI * Math.pow(radius, 3); 

如何獲得體積的浮點值?

回答

5

因爲Math#pow返回double,您需要將整個表達式轉換爲float而不是第一項。

volume = (float) ((4.0/3) * Math.PI * Math.pow(radius, 3)); 
+0

我明白了,謝謝你清理這個! – Ezsh

+0

Btw。 '4.0'也是一個'double',如果你想添加一個'4.0f',那麼它就是一個'float'。 – maraca

+0

@Ezsh不客氣!如果你的問題解決了,請接受答案! –