Android中的矩阵初始化?
我试图在android中进行一个简单的矩阵初始化,结果出现错误:Android中的矩阵初始化?,android,matrix,initialization,Android,Matrix,Initialization,我试图在android中进行一个简单的矩阵初始化,结果出现错误:java.lang.ArrayIndexOutOfBoundsException。我正在尝试这个: Integer id = Integer.valueOf(idcateg); System.out.println("Id-ul e"+id); vot = new Integer[sirid.length][id]; for (int i = 0; i &l
java.lang.ArrayIndexOutOfBoundsException
。我正在尝试这个:
Integer id = Integer.valueOf(idcateg);
System.out.println("Id-ul e"+id);
vot = new Integer[sirid.length][id];
for (int i = 0; i < sirid.length; i++) {
vot[i][id] = 0;
}
where id is a value between 1 and 5,sirid.length is a number that reflects number of images from different categorys. For example,I want for category 1 to have something like this :
vot[0][1]=0;
vot[1][1]=0;
vot[2][1]=0;
Integer id=Integer.valueOf(idcateg);
系统输出打印项次(“Id ul e”+Id);
vot=新整数[sirid.length][id];
对于(int i=0;i
…等等
我的迷糊在哪里 试试这个
Integer id = Integer.valueOf(idcateg);
System.out.println("Id-ul e"+id);
vot = new Integer[sirid.length][id];
for (int i = 0; i < sirid.length; i++) {
vot[i][id-1] = 0;
}
Integer id=Integer.valueOf(idcateg);
系统输出打印项次(“Id ul e”+Id);
vot=新整数[sirid.length][id];
对于(int i=0;i
数组索引从0开始
您将vot数组的大小设置为sirid.lengh by id,但是数组的起始索引值从0到(size)(不包括大小值)请参见for循环,因为您是在id上初始化数组的。 在那之后,你调用vot[i][id],这将始终是1太高 f、 e 如果创建新的int[3][3] 您只能调用位置0、1和2
祝你好运,这是因为
id
被认为是字符串的长度,而你正在尝试访问相同的元素。。。但是最后一个元素是vat[i][id-1]
但是您正在尝试获取vat[i][id]
所以最好用这个
for (int i = 0; i < sirid.length; i++) {
for(int j = 0; j<id ; j++){
vot[i][j] = 0;
}
}
for(int i=0;i