Java 某些输入值的ArrayIndexOutOfBounds异常

Java 某些输入值的ArrayIndexOutOfBounds异常,java,arrays,indexoutofboundsexception,Java,Arrays,Indexoutofboundsexception,以下是我代码的一部分。 对于bands和bandRows的某些值,代码似乎运行得很好。但对于一些人来说,它给出了一个ArrayIndexOutOfBounds例外。 你知道我哪里出了问题吗?我在代码中找不到任何错误。 提前谢谢 for(int i=0; i<bands; i++) { int a=0; while(a<bucketSize) { bandBuck

以下是我代码的一部分。 对于bands和bandRows的某些值,代码似乎运行得很好。但对于一些人来说,它给出了一个ArrayIndexOutOfBounds例外。 你知道我哪里出了问题吗?我在代码中找不到任何错误。 提前谢谢

for(int i=0; i<bands; i++)
        {
            int a=0;
            while(a<bucketSize) 
            { 
                bandBuckets[i][a] = new ArrayList();
                a++;
            }
        }  

    for (int i = 0; i < bands; i++) 
            {          
                for (int j = 0; j < preprocessedList.size(); j++) 
                {
                    int[][] forBuckets = new int[bands][bandRows];

                    for (int k = 0; k < bandRows; k++) 
                    {
                        Arrays.fill(forBuckets[i], Bands[i][k][j]);

                    }

                    bandBuckets[i][h.hashBands(forBuckets[i], bucketSize)].add(j);

                }
            }   

for(inti=0;i您能告诉我们从哪里得到ArrayIndexOutOfBoundException吗。
从hashBands()函数返回代码时,似乎出现了一些问题。返回的内容可能比预期的要大

bandBuckets[i][h.hashBands(forBuckets[i], bucketSize)]

对于此数组的第二维h.hashBands(对于Bucket[i],bucketSize)-->此值可能大于该部分的预期值…..

您能告诉我们从何处获得ArrayIndexOutOfBoundException吗。 从hashBands()函数返回代码时,似乎出现了一些问题。返回的内容可能比预期的要大

bandBuckets[i][h.hashBands(forBuckets[i], bucketSize)]

对于此数组的第二维h.hashBands(对于Bucket[i],bucketSize)-->此值可能大于该部分的预期值….

可能您的hashBands()函数中存在溢出


一个int的最大值是231到1。当ki-i 1大于19时,HasValf将溢出。在爪哇中,不存在溢出和下溢的异常。考虑使用BigTigle及其MODPOWER()函数。

< P>在HasBand()函数中可能有溢出。


一个int的最大值是231到1。当ki-i 1大于19时,HasValf将溢出。在爪哇中,没有出现溢出和下溢的异常。考虑使用一个BigTigand及其MODPOWER()函数。

太多的数组,太多的维数……带是什么[i] [K]?…这些维度是否正确…是的,它们是正确的。它对某些输入非常有效。仅对某些输入,它会给出错误imo,这应该在中。@ChthonicProject-CR仅用于工作代码。数组太多,维度太多…带[i][k][j]是什么…这些维度是否正确…是的,它们是正确的。它对某些输入非常有效。仅对某些输入,它会给出错误imo,这应该在中。@ChthonicProject-CR仅适用于工作代码。是的,它是行带bucket[i][h.hashBands(forbucket[i],bucketSize)]。添加(j);但该值应小于bucketSize。函数hashBands()返回bucketSize(hashVal%bucketSize)对哈希值的mod。因此,它显然小于bucketSize。是的,这是行BandBugges[i][h.hashBands(ForBucket[i],bucketSize)]。添加(j);但该值应小于bucketSize。函数hashBands()返回bucketSize(hashVal%bucketSize)的哈希值模。因此,它显然小于bucketSize。。