JAVA:如何计算循环中用户输入数字的总和(数字存储在同一个变量中)

JAVA: How to calculate sum of user-inputted numbers in a loop (numbers are stored in same variable)

此代码是收据程序的一部分。我循环它以便用户可以输入商品价格(最多 20 件商品)。我需要打印所有商品价格的总和。请注意,所有商品价格都存储在同一个双精度变量 newItemPrice 中。这可能吗?如果没有,请给我一个关于另一种方法的想法。

while(x < 20){//maximum of 20 items

    x++;//item # (x was decalred as an integer of 1)

    System.out.println("\nEnter new item's price");
    Scanner newItemPriceSC = new Scanner(System.in);
    Double newItemPrice = newItemPriceSC.nextDouble();//scans next double (new item's price)

    System.out.println("ITEM # " + x + "\t" + "$" + newItemPrice);//item prices
    System.out.println("\n");

    System.out.println("type \"no more!\" if there are no more items\ntype any other word to continue");
    Scanner continueEnd = new Scanner(System.in);
    String answ = continueEnd.nextLine();       

    if(!(answ.equals("no more!"))){
        continue;
    }


    if(answ.equals("no more!")){
        break;//ends loop
    }

    break;//ends loop (first break; was for a loop inside of this loop)

您可以使用 newItemPrice 来累积所有价格,只需将其与当前扫描的价格递增即可。

Double newItemPrice += newItemPriceSC.nextDouble();

但是,您将无法在下一行打印出价格。

您需要为 newItemPriceSC.nextDouble() 的结果引入一个临时变量,以便打印出来。如果您失去打印商品价格的要求,那么您不需要临时值。

在 while 开始之前声明一个新变量:

double total = 0;

然后在你的循环中添加一行代码:

Scanner newItemPriceSC = new Scanner(System.in);//your code
Double newItemPrice = newItemPriceSC.nextDouble();//your code
total +=newItemPrice; //this is the new line

当循环结束时,"total" 变量将包含所有输入价格的总和。