首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android中的矩阵初始化?

Android中的矩阵初始化?
EN

Stack Overflow用户
提问于 2011-08-01 21:40:00
回答 3查看 819关注 0票数 0

我试着在android中做一个简单的矩阵初始化,我得到了错误:java.lang.ArrayIndexOutOfBoundsException。我试着这样做:

代码语言:javascript
复制
 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;

...etc

我的错觉在哪里?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-01 21:45:41

尝尝这个

代码语言:javascript
复制
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;
}

数组索引从0开始

您通过id将vot数组的大小设置为sirid.lengh,但是数组的起始索引值从0到( size )(不包括size值),请参见for循环

票数 1
EN

Stack Overflow用户

发布于 2011-08-01 21:48:14

我想是因为你在id上初始化了数组。在那之后,你调用voti,然后它总是太高了1。

f.e.

如果您创建新int3

只能调用位置0、1和2

祝好运

票数 0
EN

Stack Overflow用户

发布于 2011-08-01 21:48:46

这是因为id被认为是字符串的长度,而您正在尝试访问相同的元素...但最后一个元素是vat[i][id-1],但您正在尝试获取vat[i][id]

所以最好用这个..

代码语言:javascript
复制
for (int i = 0; i < sirid.length; i++) {
for(int j = 0; j<id ; j++){
                vot[i][j] = 0;

            }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6899246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档