【问题标题】:For loop wont recognizwe the name of the 2d arrayFor 循环无法识别二维数组的名称
【发布时间】:2020-04-14 16:32:00
【问题描述】:

我有一个二维数组,我的目标是打印二维数组的总长度。但是,我收到此代码的错误。在 for 循环头中,编译器无法识别名称“数组”并建议我使用该名称创建一个局部变量。

我已经尝试在 for 循环之前计算 1d arrays.length,但这也不起作用,因为编译器仍然无法识别名称“arrays”

int[][] arrays = { {2, 5, 3, 8, 5},
                            {3, 5, 1, 7, 2},
                            { 6, 2, 8, 1}};
    }
    int Length = 0;
    for (int i= 0; i< arrays.length; i++) {
        Length += arrays[i].length;
    }

【问题讨论】:

  • 在这里,您在int Length = 0; 之前添加了额外的括号,这就是它给出错误的原因,因为在使用该数组之前函数范围已关闭。因此,请在您有任何问题时检查此内容
  • @AnkitPrajapati 是对的,由于额外的括号,它的代码块在 int Length=0 之前被关闭;并且编译器假设较低的代码在不同的范围内

标签: arrays loops for-loop


【解决方案1】:
    int[][] arrays = { {2, 5, 3, 8, 5},
            {3, 5, 1, 7, 2},
            { 6, 2, 8, 1}};

int Length = 0;
for (int i= 0; i< arrays.length; i++) {
    Length += arrays[i].length;
    System.out.println(+Length);
}

【讨论】:

  • 在您的代码中添加某种解释/细节。
  • 这里我删除了 int length =0 语句之前的花括号,以便 for 循环中的 array.length 具有帮助我们定义数组的范围
  • 谢谢。单击“编辑”按钮并将其添加到您的答案中以提高可读性。
【解决方案2】:

嗨 LoFitz,我看到的问题是您将数组的名称放在括号之前。而不是:

int[][] arrays

使用

int arrays [][] 

希望这会有所帮助。

【讨论】:

    【解决方案3】:

    数组[I][j].length

    使用它可能对你有帮助

    【讨论】:

    • 请提供适当的解决方案和适当的 cmets。
    • 尝试在int length前去掉大括号
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-28
    • 1970-01-01
    • 2015-09-28
    • 1970-01-01
    • 2022-06-15
    • 2019-06-02
    • 2015-10-02
    相关资源
    最近更新 更多