Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android中的矩阵初始化?_Android_Matrix_Initialization - Fatal编程技术网

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

我试图在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 < 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