Java 计算循环中的平均值

Java 计算循环中的平均值,java,Java,我刚刚发现,当我计算第二个用户的平均值时,我得到了一个不同的结果。例如,如果我为第一个用户10,10,10,20,20添加此数字。我得到14.0,这是正确的。但是当我为第二个用户输入相同的数字时,我得到了28.0?有什么想法吗 import java.util.Scanner; public class midterm { public static void main(String args[]) { Scanner kb = new Scanner(System.in)

我刚刚发现,当我计算第二个用户的平均值时,我得到了一个不同的结果。例如,如果我为第一个用户10,10,10,20,20添加此数字。我得到14.0,这是正确的。但是当我为第二个用户输入相同的数字时,我得到了28.0?有什么想法吗

import java.util.Scanner;

public class midterm 
{
  public static void main(String args[]) 
  {
    Scanner kb = new Scanner(System.in);

    int max = Integer.MIN_VALUE;
    int min = Integer.MAX_VALUE;
    int sum = 0;
    double average=0;
    int count = 0;
    int salary_annually = 0;

    for(int employee =1; employee <= 2; employee++)
    {
      System.out.println("Employee: " + employee);

      for(int year=1; year <= 5; year++)
      {   
        System.out.println("Please Enter the Salary for Year: "  + year);
        salary_annually = kb.nextInt();

        sum += salary_annually  ;
        average = (sum) / 5.0; 

        if (min >= salary_annually) 
        { 
          min = salary_annually;
        } 

        if (max <=salary_annually) 
        { 
          max = salary_annually;
        } 
      }

      System.out.println("The average is " + average);
      System.out.println("The higher number  " + max);
      System.out.println("The the lowest number " + min);
    }
  }
}
import java.util.Scanner;
公共课期中考试
{
公共静态void main(字符串参数[])
{
扫描仪kb=新扫描仪(System.in);
int max=整数的最小值;
int min=整数最大值;
整数和=0;
双平均=0;
整数计数=0;
年薪=0;

对于(int employee=1;employee您需要在循环结束时为零
sum
。现在,它只是在进入下一次迭代时,随着旧值保留在内存中而不断增加。

sum=0;//这是在第二次循环之前
sum = 0; // this before 2nd loop
int max = Integer.MIN_VALUE; // these too.
int min = Integer.MAX_VALUE;
for(int year=1; year <= 5; year++)
{
   .
   .
   .
}
average = (sum) / 5.0; // this after 2nd loop
int max=Integer.MIN_VALUE;//这些也是。 int min=整数最大值;
对于(int year=1;year for)(int employee=1;employee)您在计算和的同一个循环中对其进行调零。这不起作用。只需在该循环外对其进行调零。无论是在输入之前还是完成之后。