对于循环打印,只有一次数组值的值,不断重复

时间:2017-10-14 14:01:01

标签: java arrays sum println

我的目标是创建一个方法,用于打印添加到数组中的所有员工的总成本。 使用以下内容将薪水添加到数组中:

  public static void cost()
  {
    int sum = 0;

    for (int i = 0; i < salaryArray.length; ++i)
    {
      System.out.println(sum += salaryArray[i]);
    }
  }

然后我使用以下内容得到总和:

update ... @itemname = @itemname

问题是它多次打印出结果,我希望它只打印一次,只给出一个结果。当我尝试修复它时,进一步的更改似乎会破坏我的代码。

3 个答案:

答案 0 :(得分:1)

对于每个加入的工资,您打印当前金额 您想在循环后打印总和。那样做

作为改进,您可以为方法使用更有意义的名称,因为方法名称通常应以不定式动词开头。
您还可以使用enhanced for,因为索引变量仅用于迭代每个元素。增强的for以更清洁的方式提供它。

 public static void displayCost()  {
    int sum = 0;    
    for (int salary : salaryArray){
      sum += salary;
    }
    System.out.println(sum);
  }

答案 1 :(得分:0)

public static void cost()
  {
    int sum = 0;

    for (int i = 0; i < salaryArray.length; ++i)
    {
      sum += salaryArray[i];
    }
System.out.println(sum);

  }

只需显示一次sum变量。

答案 2 :(得分:0)

您正在以for循环打印结果,当然它会多次打印。为什么不尝试这个;

for(int i = 0; i < salaryArray.length; i++){
sum += salaryArray[i];//getting the value of the sum first
}
System.out.println(sum);