ユーザー入力の高さと半径に基づいて円錐の体積を計算する一連のコードを作成しようとしています (以下を参照)。
私の問題は、答えが間違っていることです(ただし、長い道のりではありません)。高さ = 5、半径 = 10 の例を使用すると、500 のコードから答えが得られます (円周率を正確に 3 として扱います) が、手動で計算すると ~523 になります。
pi を宣言している変数の型 (double から long に変換) と関係があると思いますが、他の変数型の組み合わせを機能させるのに苦労しました。
pi を適切に (少なくとも 5 桁または 6 桁まで) 格納する、以下の正しいバージョンは何ですか?
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;