平均数字程序输出不正确的结果
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 = 1
、num2 = 2
和 num3 = 2
,您的代码将绘制 1
作为结果而不是 1.667
。您可以通过编写
在输出中强制执行 double-results
System.out.println("The average is:"+ ((num1 + num2 + num3) / 3.0));
我正在尝试编写简单的程序来计算 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 = 1
、num2 = 2
和 num3 = 2
,您的代码将绘制 1
作为结果而不是 1.667
。您可以通过编写
System.out.println("The average is:"+ ((num1 + num2 + num3) / 3.0));