首页 > 解决方案 > 我不知道如何解决这个“ArrayIndexOutOfBoundsException”错误

问题描述

我创建了嵌套循环来在我的字符串数组中实现整数:

int ı = 0;

    String[] haha = new String[sizeFinder(numbers)];

    for (int q = 0; q < sizeFinder(numbers);) {

        for (ı = Integer.parseInt(numara[q]);; ı = Integer.parseInt(numara[q])) {

            haha[q] = ofanamof(Arrays.toString(convertDectoB(ı, sizeFinder(numbers))));

            q++;

        }

    }

这是问题所在:在这种情况下,“sizeFinder(numbers)”等于 3。在第二个 for 循环中,我将“q”值一一增加,以实现值到“haha [q]”数组中。但最终“q”为 3,代码中没有“numara[3]”值。它给出错误:java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3

我怎么能解决这个问题?我怎样才能在 2 处停止“q”值?

标签: javaarraysnested-loopsindexoutofboundsexception

解决方案


似乎您对编程很陌生,所以我建议您首先正确理解 for 的工作原理。

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html

那是 for from oracle 的官方文档。

在 for 您使用的类型中,您应该描述 3 个参数:

for ([1]; [2]; [3]) {
    your code;
} 

[1]循环变量的初始化,例如“int i = 0”

[2] 终止条件,直到循环迭代的时间(每次执行括号 { } 内的代码时都会检查此条件)

[3] 应该如何修改循环变量,例如“++i”或“--i”(增加和减少1个单位的i)。每次括号内的代码完成时,它将在 [2] 之后立即执行。

希望能帮助到你!


推荐阅读