Javaのメソッド/関数でtotalPriceを計算する

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

ここに私のコードの一部です:

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

0

2 答え

グローバル変数は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 (購入したアイテムの価格を計算するため)。

1
追加された
どうもありがとう!それは確かにトリックをした、と私はあまりにも良い練習を学んだ:)
追加された 著者 Steffen Martinsen,
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;
}
1
追加された
@ StteenMartinsen:あなたは大歓迎です。
追加された 著者 Bhesh Gurung,
どうもありがとう!両方の回答が同じであるため、私は最初のものを解決策としてマークしますが、お世話になりました。
追加された 著者 Steffen Martinsen,