基于另一个数组递增数组中的值

NYC*_*uck 3 java arrays increment multidimensional-array

我有一个2维9 x 9数组(twoArray),填充1
到17之间的数字.我正在尝试创建一个一维数组(oneArray),它将为我提供在twoArray中出现的数字.

即如果数字'1'在twoArray中出现'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;
    }
}
Run Code Online (Sandbox Code Playgroud)

das*_*ght 5

你有一个错字:条件应该是j< twoArray[i].length,而不是j< twoArray[j].length.该程序的其余部分应该可以工作,但您可以考虑更改几个非常小的东西:

  • 考虑将初始化num与其计算相结合
  • 考虑使用++代替+= 1