【问题标题】:error (Unreachable Code) in calling variable调用变量时出错(无法访问代码)
【发布时间】:2016-04-28 05:10:13
【问题描述】:

我正在尝试制作一个程序,让用户输入 10 个整数,然后计算这些整数的平均值。我在System.out.println("average : " + average); 行中遇到了Unreachable code 错误。

我已经尝试创建一个新类并将该方法调用到我的 main 方法,但这似乎不是一个简单的方法(而且还有一些错误让我更加困惑)。所以我想我可以制作一个这样的简单程序。但是我一直在弄清楚代码有什么问题。这是代码。

package nomer15;

import java.util.Scanner;

public class averag {

    public static void main(String[] args) {

        System.out.println("Enter 10 integers : ");

        double average;
        int sum = 0;
        Scanner sc = new Scanner(System.in);
        int numbers[] = new int[10];
        for(int i = 0; 1 < 10; i++){
            numbers[i] = sc.nextInt();

            sum = sum + numbers[i];

            average = sum/10;

        }

        System.out.println("average : " + average);  // (Unreachable code error)

    }

}

你能弄清楚我做错了什么吗?谢谢。

【问题讨论】:

  • 1 &lt; 10 在 for 循环条件下使循环永远运行。我怀疑你的意思是把i &lt; 10
  • 大声笑对不起我没有意识到这一点!有用!但我必须初始化average 谢谢。
  • @JonnyHenly 很好发现

标签: java unreachable-code


【解决方案1】:

除了您的循环测试不正确(1 始终小于10)之外,您还应该计算循环后的平均值。而且你不应该使用整数数学。最后,我更喜欢numbers.length 而不是magic 10。类似的东西

public static void main(String[] args) {
    int[] numbers = new int[10];
    System.out.printf("Enter %d integers : ", numbers.length);
    int sum = 0;
    Scanner sc = new Scanner(System.in);
    for (int i = 0; i < numbers.length; i++) {
        sum += (numbers[i] = sc.nextInt());
    }
    double average = sum / (double) numbers.length;
    System.out.println("average : " + average);
}

【讨论】:

  • 这段代码完全比我的好。顺便说一句,为什么我们需要numbers.length?你能解释一下这条线是什么意思吗? sum += (numbers[i] = sc.nextInt());
  • 我更喜欢numbers.length,因为这样您将new int[10] 更改为new int[20]new int[5],代码仍然有效。将sc.nextInt() 分配给numbers[i] 将相同的值添加到sum
【解决方案2】:

您的代码中有错字,请查看以下行:

 for(int i = 0; 1 < 10; i++)

您可能的意思是代码应该是:

 for(int i = 0; i < 10; i++) //replace 1 with i

【讨论】:

  • 以后可以考虑使用拼写关闭原因。
【解决方案3】:

原来for(int i = 0; 1 &lt; 10; i++) 中的失败我没有意识到我在那里放了1 而不是i。 现在,在我初始化 average

后,它就像一个魅力

【讨论】:

    猜你喜欢
    • 2017-12-17
    • 2019-03-26
    • 1970-01-01
    • 1970-01-01
    • 2014-11-17
    • 2013-07-26
    • 2021-07-07
    • 2023-04-05
    • 1970-01-01
    相关资源
    最近更新 更多