0

食料品のリストがあり、ユーザーが提供する値に基づいて、合計を更新する必要があります。例えば:

ここに画像の説明を入力

合計が毎回更新されることに気付いたかもしれませんが、コードでそれを行うにはどうすればよいでしょうか?

これは私が持っているものです:

public class CalcGroceryList {
private double productOne;
private double productTwo;
private double productThree;
private double productFour;
private double productFive;
private int n++;

public CalcGroceryList(){
    Scanner in = new Scanner(System.in);
    System.out.println("Enter price of first item:");
    productOne = in.nextDouble();
    System.out.println("Enter price of second item:");
    productTwo = in.nextDouble();
    System.out.println("Enter price of third item:");
    productThree = in.nextDouble();
    System.out.println("Enter price of fourth item:");
    productFour = in.nextDouble();
    System.out.println("Enter price of fifth item:");
    productFive = in.nextDouble();
}

public double calc(){
    return productOne + productTwo + productThree + productFour + productFive;
}

public void printResults(){
    System.out.printf("%10s %10s %10s \n", "Item:", "Cost:", "Price:");
    System.out.printf("%10d %10.2f %10.2f \n", n++ ,productOne, productOne);
    System.out.printf("%10d %10.2f %10.2f", n++ ,productTwo, productTwo + productOne);  
}

}

System.out.printf("%10d %10.2f %10.2f", n++ ,productTwo, productTwo + productOne); 

ご覧のように、単純に 2 つの値 (productTwo + productOne) を追加しましたが、正確な値を指定せずにこれを行う方法はありますか。たとえば、現在のすべての値を毎回追加します。

4

3 に答える 3

0

を使用してこのようなことを行うことができますArrayList

ArrayList<Double> costArray = new ArrayList<Double>();
double cost;

System.out.println("Enter price of first item:");
cost = in.nextDouble();
costArray.add(cost);
System.out.println("Enter price of second item:");
cost = in.nextDouble();
costArray.add(cost);
System.out.println("Enter price of third item:");
cost = in.nextDouble();
costArray.add(cost);
System.out.println("Enter price of fourth item:");
cost = in.nextDouble()
costArray.add(cost);
System.out.println("Enter price of fifth item:");
product += in.nextDouble();
costArray.add(cost);

double total = 0;
for (int i = 1; i <= costArray.length; i++) {
    total += costArray[i];
    System.out.printf("%10s %10.2f %10.2f", "#" + i, costArray[i], total);
}

total += costArray[i]と同じtotal = total + castArray[i]です。

于 2013-10-11T16:46:24.450 に答える