Java 基于另一个数组的值递增数组中的值
我有一个二维9 x 9数组(twoArray),其中填充了介于1和17之间的数字。Java 基于另一个数组的值递增数组中的值,java,arrays,multidimensional-array,increment,Java,Arrays,Multidimensional Array,Increment,我有一个二维9 x 9数组(twoArray),其中填充了介于1和17之间的数字。 我正在尝试创建一个一维数组(oneArray),它将为我提供twoArray中数字的出现次数 i、 e.如果数字“1”在twoArray中出现“3”次,则oneArray[0]中的值将为“3”,数字“15”出现一次,则oneArray[14]将为“1”,以此类推。 我已经编写了以下代码,但是我得到了一个“ArrayIndexOutOfBoundsException” 我不确定我的代码是否正确。任何指导都将不胜感激
我正在尝试创建一个一维数组(oneArray),它将为我提供twoArray中数字的出现次数 i、 e.如果数字“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;
}
}
int[]oneArray=newint[17];
for(int i=0;i您有一个输入错误:条件应该是j,而不是j。程序的其余部分应该工作,但是你可以考虑改变一些很小的事情:
- 考虑将
num
的初始化与其计算相结合
- 考虑使用
++
代替+=1
您需要
for (int j= 0; j< twoArray[i].length; j++)
^--i here, and not j
for(int j=0;j
谢谢。不知道我怎么会错过那个!