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

时间:2015-03-08 03:07:12

标签: java loops while-loop sum add

此代码是收据程序的一部分。我循环使用,以便用户可以输入商品价格(最多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)

2 个答案:

答案 0 :(得分:0)

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

Double newItemPrice += newItemPriceSC.nextDouble();

然而,你失去了在下一行打印出价格的能力。

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

答案 1 :(得分:0)

在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

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