2011-10-27 1 views
0

IamはJavaで学校の割り当てを行っています。メソッドで計算を行うにはいくつかの助けが必要です。 IamはPHPに慣れていましたが、私の知っていることはたくさんありましたが、私はこれを理解できませんでした(私は関数なしでどうやって行うのか知っていますが、 。これは私が買ってきたものの素敵な法案を出力Javaのメソッド/関数のtotalPriceを計算します。

public static void main (String[] args) { 
// User inputs 
calculate("Number of beers", 20, 1.50); 
} 

public static void calculate(String articleName, double numberOfX, double pricePerUnit) { 

     double subTotal = numberOfX * pricePerUnit; 
     System.out.printf("%-20s %-1s %10.2f\n", articleName, ":", subTotal); 
} 

は、ここに私のコードの一部です。さらに、私はこのメソッドが最終的にすべての商品の最終価格を示す(グローバル?)変数にtotalpriceを追加することを望みます。 PHPでは、通常、totalDue + = subTotalという名前の変数を書きました。

javaでこれを行う方法はありますか?各項目の合計価格を変数に追加するだけで、数学を行うための新しい関数を書くのは残念です。

答えて

1

グローバル変数はJavaには存在しません。

これは実行する方法ではありません。むしろ、いくつかの変数を更新する方法よりも、この方法は、単に計算の結果を返す必要があります、そして、彼がしたいと、発信者は、その結果を使用しての責任を負わなければならない:

double total = 0D; 
total += calculate("Number of beers", 20, 1.50); 
total += calculate("Number of pizza", 10, 8); 
// ... 

この方法で、あなたがする必要はありません小計や平均などを計算したいときは、calculateメソッドの何かを変更してください。 1つの方法= 1つの責任。

これはあなたのPHPプログラムにも当てはまるはずです。

これが完了したら、商品名、商品数、単価をクラスにカプセル化し、toString(購入した商品を表示する)、computePrice(クラスを計算するにはこの購入したアイテムの価格)。

+0

ありがとうございます!確かにそのトリックをした、と私はあまりにも良い練習を学んだ:) –

1
public static void main (String[] args) { 
// User inputs 
    double total = 0.0; 
    total += calculate("Number of beers", 20, 1.50); 
} 

public static double calculate(String articleName, double numberOfX, double pricePerUnit) { 
    double subTotal = numberOfX * pricePerUnit; 
    System.out.printf("%-20s %-1s %10.2f\n", articleName, ":", subTotal); 
    return subTotal; 
} 
+0

ありがとう!両方の回答が同じであるため、私は最初のものを解決策としてマークしますが、お世話になりました。 –

+0

@ StteenMartinsen:どうぞよろしくお願いいたします。 –

関連する問題