2017-09-12 9 views
0

この問題では、球体の幅をインチ単位で入力するように求め、インチ単位で面積を計算するプログラムを書く必要がありますインチ単位、フィート単位、水分単位で表します.Piとガロン変換変数(7.48)は定数です。これらの計算に使用される式は次のとおりです。ウォータータワー電卓プログラムで球体の体積を計算する -

A = 4*pi*r^2 
AFt = A/12 
V = 4/3 * pi * r^3 
VFt = V/1728 
Gallons of water = VFt * 7.48 
The test width value is 400. This should give me the output of 
A = 502,400.00 
AFt = 41,866.67 
V = 33,493,333.33 
VFt = 2,791,111.11 
Gallons of Water = 20,877,511.11 

これまでのコードです。最初の2つの計算は正しいですが、ボリューム、足の容積、水のガロンを正しく計算するのに問題があります。どんな助けも大歓迎です。

import java.util.Scanner; 

    public class WaterTowerCalculator { 

     public static void main(String[] args) { 
      // TODO Auto-generated method stub 

      Scanner scan = new Scanner(System.in); 
      System.out.println("Enter the width of the sphere"); 
      int width = scan.nextInt(); 

      final double PI = 3.14; 
      final double C_VARIABLE = 7.48; 
      double w = width; 
      double r = w/2; 
      double A = 4*PI*r*r; 
      double AFt = (double) A/12; 
      double V = (4/3)*PI*(r*r*r); 
      double VFt = (double) V/1728; 
      double gallons = (double) VFt * C_VARIABLE; 

      System.out.printf("Area in inches " +"%,.2f\n", A); 
      System.out.printf("Area in feet " + "%,.2f\n", AFt); 
      System.out.printf("Volume in inches " + "%,.2f\n", V); 
      System.out.printf("Volume in feet " + "%,.2f\n", VFt); 
      System.out.printf("Gallons of water " + "%,.2f\n", gallons);     

     } 

    } 
+2

私は問題を抱えています*問題が何かを具体的に説明しない限り、問題の説明として全く役に立たないです。 **具体的な**ご質問は何をお手伝いしますか? –

+0

'width'を' double'にして、 'nextDouble()'でそれを受け入れるべきです。さもなければ、 'r'の計算は整数計算で行われ、' width'が奇数の場合には正しい結果は得られません。それはさておき、球はいつもインチの幅の素敵な便利な整数に来るとは限りません。なぜ球の直径が正確に214.4358349インチであるのかを知る必要があったのですが... –

答えて

0

浮動小数点除算が必要なときに整数除算を使用しているようです。

4/34.0/3.0

+0

もちろん、このような簡単な修正は答えでした、ありがとう! – Grand0

+0

答えが役に立ったら、それを受け入れることを検討してください。 :-) – Phydeaux

関連する問題