我试图将一个x * y int数组的所有值存储到一个x长度数组中,但不管我怎么做,我最终都会遇到各种运行时错误。这是我的当前代码:如何将所有x数组2d数组的所有y值总和为1d数组?
for(int x=0; x < size.length; x++){
for(int y=0; y < orders; y++){
totalGears[x] += gears[x][y];
}
}
该方案的目的是计算的不同尺寸的齿轮的数量排序,其中x指定的顺序,和y指定的独特齿轮的数量,例如在阵列齿轮[ ] []如果输入10个命令,x将是10,如果有3个大小的齿轮,则y将是3。因此,如果0阶为3个大齿轮,4个介质齿轮和6个个小齿轮,齿轮的内容[0] [3]是6
除了当我运行该程序,一切都很好,直到我打这部分在运行此,我也得到了以下内容:
大 - [I @ 33909752 java.lang.ArrayIndexOutOfBoundsException
我试着重新安排一切我能想到的。这种嵌套for循环在整个程序中多次工作,所以我无法弄清楚为什么它会在这里抛出一个错误。所有的数组都是Int数组。
编辑:解决 - 改变 totalGears [X] + =齿轮[X] [Y] 到 totalGears [X] = totalGears [X] +齿轮[X] [Y]
解决的问题,但我不知道为什么
纸和铅笔这一个。我怀疑是那些'<='错误之一 – Coffee
我们可以看到totalGears和gears的声明吗? – nicomp
什么是'size.length'?显然它是某种“数组”,但它是正确的大小?还有什么是'orders' – 3kings