【问题标题】:Why do I get java.lang.ArrayIndexOutOfBoundsException here?为什么我在这里得到 java.lang.ArrayIndexOutOfBoundsException?
【发布时间】:2020-07-31 21:05:15
【问题描述】:
public long process(long[][] theArray) {

    long result = 0l;
    int xDimension = 0;
    int yDimension = 0;

    for (int i = 0; i < theArray.length; i++) {
        for (int j = 0; j < theArray[0].length; j++) {
            if (((yDimension + 12) < theArray.length) && ((xDimension + 12) < theArray[0].length)) {
                result = (theArray[yDimension][xDimension + 1]) + (theArray[yDimension][xDimension + 2])
                        + (theArray[yDimension + 1][xDimension]) + (theArray[yDimension + 1][xDimension + 3])
                        + (theArray[yDimension + 2][xDimension]) + (theArray[yDimension + 2][xDimension + 3])
                        + (theArray[yDimension + 3][xDimension + 1]) + (theArray[yDimension + 3][xDimension + 2]);
            }
            xDimension++;
        }
        xDimension -= (theArray[0].length);
        yDimension++;
    }

    return result;

}// method()

--> 我的控制台说:索引 5 超出了长度 5 的范围。但是这与我的 if 条件一起怎么可能呢?

【问题讨论】:

  • 您到底想达到什么目的?请先详细说明,不要只给出代码和错误。

标签: java arrays multidimensional-array indexoutofboundsexception


【解决方案1】:

xDimension0 开头,外循环迭代一次后为负数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-08
    • 2016-11-22
    • 2015-10-25
    • 1970-01-01
    • 2018-06-22
    • 2016-09-26
    • 2012-03-13
    • 1970-01-01
    相关资源
    最近更新 更多