【问题标题】:Issue with for each loop and arrays [duplicate]每个循环和数组的问题[重复]
【发布时间】:2015-09-12 12:42:23
【问题描述】:

运行此程序时出现 java.lang.ArrayIndexOutOfBoundsException: 5。

public class TestArray {
    public static void main(String[] args) {
            int[] someArray = new int[5];

            someArray[0] = 5;
            someArray[1] = 10;
            someArray[2] = 15;
            someArray[3] = 20;
            someArray[4] = 25;

            System.out.println("Array length = " + someArray.length);
            for (int i : someArray) {
                    System.out.println("Element at index " + i + ": " + someArray[i]);
            }
    }

}

当 i 大于或等于数组的长度(在这种情况下为 5)时,循环是否应该退出?

【问题讨论】:

  • 您认为i 在您的增强 for 循环中代表什么?
  • Arrays.asList(someArray).forEach(i -> System.out.println(i));

标签: java arrays


【解决方案1】:

您正在迭代数组值本身而不是索引。只使用i 而不是someArray[i]

或将循环更改为

for (int i=0; i<someArray.length; i++)

在这种情况下,根据您要在那里实现的目标更改循环会更好

【讨论】:

    猜你喜欢
    • 2013-04-09
    • 1970-01-01
    • 1970-01-01
    • 2021-12-15
    • 1970-01-01
    • 2013-11-11
    • 2020-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多