[英]For loop print sum of values from array only once, keeps repeating
我的目标是创建一种方法,该方法可以打印添加到阵列中的所有员工的总成本。 使用以下方法将薪水添加到数组中:
**Scanner sal = new Scanner(System.in);
System.out.println("Enter annual employee salary $");
int salary = sal.nextInt();
salaryArray[index] = salary;
index++;**
然后,我使用以下代码获取总和:
public static void cost()
{
int sum = 0;
for (int i = 0; i < salaryArray.length; ++i)
{
System.out.println(sum += salaryArray[i]);
}
}
问题是它会多次打印出结果,我希望它只打印一次,只给出一个结果。 当我尝试修复它时,进一步的更改似乎破坏了我的代码。
对于增加的每个薪水,您都将打印当前金额。
您要在循环后打印总和。 那样做
作为改进,您可以为该方法使用一个更有意义的名称,因为方法名称通常应以不定式动词开头。
您也可以使用增强的for
因为index变量仅用于迭代每个元素。 for
的增强for
以一种更清洁的方式提供它。
public static void displayCost() {
int sum = 0;
for (int salary : salaryArray){
sum += salary;
}
System.out.println(sum);
}
public static void cost()
{
int sum = 0;
for (int i = 0; i < salaryArray.length; ++i)
{
sum += salaryArray[i];
}
System.out.println(sum);
}
只显示一次sum变量。
您要在for循环中打印结果,当然它将打印多次。 为什么不试试这个呢?
for(int i = 0; i < salaryArray.length; i++){
sum += salaryArray[i];//getting the value of the sum first
}
System.out.println(sum);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.