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" 变量将包含所有输入价格的总和。
此代码是收据程序的一部分。我循环它以便用户可以输入商品价格(最多 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" 变量将包含所有输入价格的总和。