平均数字程序输出不正确的结果

Average of numbers program outputting incorrect result

我正在尝试编写简单的程序来计算 3 个 int 值的平均值,但它似乎总是得到错误的平均值

import java.util.Scanner;
public class IntegerAverage {

public static void main(String[] args) 

{
   
    Scanner in = new Scanner(System.in);
    int num1;
    int num2;
    int num3;

    // Ask user
    System.out.println("Input 1st number");
    num1 = in.nextInt();
    System.out.println("Input 2nd number");
    num2 = in.nextInt();
    System.out.println("Input 3rd number");
    num3 = in.nextInt();

    // Print answer
    System.out.println("The average is:"+ ((num1 + num1 + num3)/3));
}
}

非常感谢帮助

应该是:

import java.util.Scanner;
public class IntegerAverage {

public static void main(String[] args) 

{
   
    Scanner in = new Scanner(System.in);
    int num1;
    int num2;
    int num3;

    // Ask user
    System.out.println("Input 1st number");
    num1 = in.nextInt();
    System.out.println("Input 2nd number");
    num2 = in.nextInt();
    System.out.println("Input 3rd number");
    num3 = in.nextInt();

    // Print answer
    System.out.println("The average is:"+ ((num1 + num2 + num3)/3));
}
}

您不小心添加了两次 num1,忘记了 num2。

除了有两次 num1 和缺少 num2 之外,正如上面已经提到的,你总是只会得到 integer-results,例如对于 num1 = 1num2 = 2num3 = 2,您的代码将绘制 1 作为结果而不是 1.667。您可以通过编写

在输出中强制执行 double-results

System.out.println("The average is:"+ ((num1 + num2 + num3) / 3.0));