如何将两个数组相乘得到的值相加?
How can I add the values that I got from multiplying two arrays?
所以我正在创建一个发票程序,当我必须得到两个数组相乘的总数时,我卡在了这一部分。我能够将它们相乘并得到值,但不幸的是,如果我输入多个项目,则不止一个值。我希望能够将我得到的值相加以获得总数。
为了给你一个想法,这是我的代码:
public static void main(String []args){
Scanner input = new Scanner(System.in);
String sentinel = "End";
String description[] = new String[100];
int quantity[] = new int[100];
double price [] = new double[100];
int i = 0;
// do loop to get input from user until user enters sentinel to terminate data entry
do
{
System.out.println("Enter the Product Description or " + sentinel + " to stop");
description[i] = input.next();
// If user input is not the sentinal then get the quantity and price and increase the index
if (!(description[i].equalsIgnoreCase(sentinel))) {
System.out.println("Enter the Quantity");
quantity[i] = input.nextInt();
System.out.println("Enter the Product Price ");
price[i] = input.nextDouble();
}
i++;
} while (!(description[i-1].equalsIgnoreCase(sentinel)));
System.out.println("Item Description: ");
System.out.println("-------------------");
for(int a = 0; a <description.length; a++){
if(description[a]!=null){
System.out.println(description[a]);
}
}
System.out.println("-------------------\n");
System.out.println("Quantity:");
System.out.println("-------------------");
for(int b = 0; b <quantity.length; b++){
if(quantity[b]!=0){
System.out.println(quantity[b]);
}
}
System.out.println("-------------------\n");
System.out.println("Price:");
System.out.println("-------------------");
for(int c = 0; c <price.length; c++){
if(price[c]!=0){
System.out.println("$"+price[c]);
}
}
System.out.println("-------------------");
//THIS IS WHERE I MULTIPLY THE PRICE AND THE QUANTIY TOGETHER TO GET THE TOTAL
for (int j = 0; j < quantity.length; j++)
{
//double total;
double total;
total = quantity[j] * price[j];
if(total != 0){
System.out.println("Total: " + total);
}
}
}
}
在最后一个 for 循环中,您只是将商品的数量和价格相乘,并将其作为总计的值,而不是将其加到总计上。此外,每次循环时,它都会创建一个新的 total.To 让它变得更好,声明 total 退出循环并将你的 if 语句移出
double total = 0.0;
for (int j = 0; j < quantity.length; j++){
total += quantity[j] * price[j];
}
if(total != 0){
System.out.println("Total: " + total);
}
所以我正在创建一个发票程序,当我必须得到两个数组相乘的总数时,我卡在了这一部分。我能够将它们相乘并得到值,但不幸的是,如果我输入多个项目,则不止一个值。我希望能够将我得到的值相加以获得总数。
为了给你一个想法,这是我的代码:
public static void main(String []args){
Scanner input = new Scanner(System.in);
String sentinel = "End";
String description[] = new String[100];
int quantity[] = new int[100];
double price [] = new double[100];
int i = 0;
// do loop to get input from user until user enters sentinel to terminate data entry
do
{
System.out.println("Enter the Product Description or " + sentinel + " to stop");
description[i] = input.next();
// If user input is not the sentinal then get the quantity and price and increase the index
if (!(description[i].equalsIgnoreCase(sentinel))) {
System.out.println("Enter the Quantity");
quantity[i] = input.nextInt();
System.out.println("Enter the Product Price ");
price[i] = input.nextDouble();
}
i++;
} while (!(description[i-1].equalsIgnoreCase(sentinel)));
System.out.println("Item Description: ");
System.out.println("-------------------");
for(int a = 0; a <description.length; a++){
if(description[a]!=null){
System.out.println(description[a]);
}
}
System.out.println("-------------------\n");
System.out.println("Quantity:");
System.out.println("-------------------");
for(int b = 0; b <quantity.length; b++){
if(quantity[b]!=0){
System.out.println(quantity[b]);
}
}
System.out.println("-------------------\n");
System.out.println("Price:");
System.out.println("-------------------");
for(int c = 0; c <price.length; c++){
if(price[c]!=0){
System.out.println("$"+price[c]);
}
}
System.out.println("-------------------");
//THIS IS WHERE I MULTIPLY THE PRICE AND THE QUANTIY TOGETHER TO GET THE TOTAL
for (int j = 0; j < quantity.length; j++)
{
//double total;
double total;
total = quantity[j] * price[j];
if(total != 0){
System.out.println("Total: " + total);
}
}
}
}
在最后一个 for 循环中,您只是将商品的数量和价格相乘,并将其作为总计的值,而不是将其加到总计上。此外,每次循环时,它都会创建一个新的 total.To 让它变得更好,声明 total 退出循环并将你的 if 语句移出
double total = 0.0;
for (int j = 0; j < quantity.length; j++){
total += quantity[j] * price[j];
}
if(total != 0){
System.out.println("Total: " + total);
}