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

huangapple go评论99阅读模式
英文:

Average of numbers program outputting incorrect result

问题

  1. 尝试编写一个简单的程序来计算3个整数值的平均值但它似乎总是计算出错误的平均值
  2. import java.util.Scanner;
  3. public class IntegerAverage {
  4. public static void main(String[] args)
  5. {
  6. Scanner in = new Scanner(System.in);
  7. int num1;
  8. int num2;
  9. int num3;
  10. // 询问用户
  11. System.out.println("输入第一个数字");
  12. num1 = in.nextInt();
  13. System.out.println("输入第二个数字");
  14. num2 = in.nextInt();
  15. System.out.println("输入第三个数字");
  16. num3 = in.nextInt();
  17. // 输出答案
  18. System.out.println("平均值是:" + ((num1 + num2 + num3) / 3));
  19. }
  20. }
  21. 感谢您的帮助
英文:

Am trying to write simple program to find average of 3 int values, but it always seems to get the average wrong

  1. import java.util.Scanner;
  2. public class IntegerAverage {
  3. public static void main(String[] args)
  4. {
  5. Scanner in = new Scanner(System.in);
  6. int num1;
  7. int num2;
  8. int num3;
  9. // Ask user
  10. System.out.println("Input 1st number");
  11. num1 = in.nextInt();
  12. System.out.println("Input 2nd number");
  13. num2 = in.nextInt();
  14. System.out.println("Input 3rd number");
  15. num3 = in.nextInt();
  16. // Print answer
  17. System.out.println("The average is:"+ ((num1 + num1 + num3)/3));
  18. }
  19. }

Help is greatly appreciate

答案1

得分: 1

除了已经在上面提到的两次num1和缺少的num2,你将始终只会得到整数结果,例如对于num1 = 1num2 = 2num3 = 2,你的代码将会将1作为结果绘制,而不是1.667。你可以通过写入以下内容来强制在输出中获得双精度结果:

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

Besides having num1 twice and missing num2, as already mentioned above, you will always get integer-results only, e.g. for num1 = 1, num2 = 2 and num3 = 2 your code will plot 1 as result instead of 1.667. You might enforce double-results in your output by writing

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

答案2

得分: 0

  1. 它应该是这样的
  2. import java.util.Scanner;
  3. public class IntegerAverage {
  4. public static void main(String[] args)
  5. {
  6. Scanner in = new Scanner(System.in);
  7. int num1;
  8. int num2;
  9. int num3;
  10. // 询问用户
  11. System.out.println("输入第一个数字");
  12. num1 = in.nextInt();
  13. System.out.println("输入第二个数字");
  14. num2 = in.nextInt();
  15. System.out.println("输入第三个数字");
  16. num3 = in.nextInt();
  17. // 输出答案
  18. System.out.println("平均值为:" + ((num1 + num2 + num3) / 3));
  19. }
  20. }
  21. 你不小心把num1重复了一次并且忘记了num2
英文:

It's supposed to be:

  1. import java.util.Scanner;
  2. public class IntegerAverage {
  3. public static void main(String[] args)
  4. {
  5. Scanner in = new Scanner(System.in);
  6. int num1;
  7. int num2;
  8. int num3;
  9. // Ask user
  10. System.out.println("Input 1st number");
  11. num1 = in.nextInt();
  12. System.out.println("Input 2nd number");
  13. num2 = in.nextInt();
  14. System.out.println("Input 3rd number");
  15. num3 = in.nextInt();
  16. // Print answer
  17. System.out.println("The average is:"+ ((num1 + num2 + num3)/3));
  18. }
  19. }

You accidentally added num1 twice, and forgot num2.

huangapple
  • 本文由 发表于 2020年9月17日 04:46:35
  • 转载请务必保留本文链接:https://go.coder-hub.com/63927697.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定