我有一个二维9 x 9数组(twoArray),其中填充了1到17之间的数字。
我试图创建一个一维数组(oneArray),它将为我提供twoArray中数字的出现。
也就是说,如果在doubleArray中数字“1”出现“3”次,则oneArray [0]中的值将为“3”,数字“15”一次,则oneArray [14]将为“1”,依此类推。
我已经编写了以下代码,但出现了“ArrayIndexOutOfBoundsException”
不确定我的代码是否正确完成此任务。任何指导将不胜感激。我不是在寻找答案,只是在寻找一些建议,以便我自己做。
int[] oneArray= new int[17];
for (int i= 0; i< twoArray.length; i++)
{
for (int j= 0; j< twoArray[j].length; j++) **// exception occurs here**
{
int num = 0;
num = twoArray[i][j] - 1;
oneArray[num] += 1;
}
}
最佳答案
您有一个错字:条件应该是j< twoArray[i].length
,而不是j< twoArray[j].length
。该程序的其余部分应该可以运行,但是您可以考虑更改一些非常小的事情:
num
的初始化及其计算++
代替+= 1