Java.lang.IndexOutOfBoundException错误

wc7253027 2011-07-13 09:04:15
我在写一个获取图片的方法时,老是报数组下标越界的错误。。都不知道是哪出问题了。。大家帮我看看吧。。在线急等。。谢谢了
package com.huawei.test;

import java.util.List;

import android.util.Log;

public class randomCard {
public static final String TAG="randomCard";
public static int getRandomCardOne(){
List<Integer> newdrawableListfp=dataManager.drawableListfp;
List<Integer> newdrawableListht=dataManager.drawableListht;
List<Integer> newdrawableListhtt=dataManager.drawableListhtt;
List<Integer> newdrawableListmh=dataManager.drawableListmh;

int j=getRandomCount();
Log.d(TAG,String.valueOf(j));
if(j<14){
Log.d(TAG,newdrawableListfp.get(j).toString());
return newdrawableListfp.get(j);
}else if(j>13 && j<27){
Log.d(TAG,newdrawableListht.get(j).toString());
return newdrawableListht.get(j-13);
}else if(j>26 && j<40){
Log.d(TAG,newdrawableListhtt.get(j).toString());
return newdrawableListhtt.get(j-26);
}else if(j>39 && j<53){
Log.d(TAG,newdrawableListmh.get(j).toString());
return newdrawableListmh.get(j-39);
}

return 0;
}

public static int getRandomCount(){
int i=(int)(Math.random()*52+1);
Log.d(TAG,String.valueOf(i));
return i;
}
}
...全文
4661 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xinqiqi123 2011-07-13
  • 打赏
  • 举报
回复
楼上正解
qiying1988 2011-07-13
  • 打赏
  • 举报
回复
if(j<14){
Log.d(TAG,newdrawableListfp.get(j-1).toString());
return newdrawableListfp.get(j-1);
}else if(j>13 && j<27){
Log.d(TAG,newdrawableListht.get(j-14).toString());
return newdrawableListht.get(j-14);
}else if(j>26 && j<40){
Log.d(TAG,newdrawableListhtt.get(j-27).toString());
return newdrawableListhtt.get(j-27);
}else if(j>39 && j<53){
Log.d(TAG,newdrawableListmh.get(j-40).toString());
return newdrawableListmh.get(j-40);
}
wc7253027 2011-07-13
  • 打赏
  • 举报
回复
。。。。。还是一样的啊。。。具体应该怎么改呢。。。大哥们。。。汗
qiying1988 2011-07-13
  • 打赏
  • 举报
回复
Log.d(TAG,newdrawableListht.get(j).toString());

越界了
wc7253027 2011-07-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lieri111 的回复:]
很显然数组越界,只有几种可能,1:你没有得到数据,就使用了数组的某一项,比如第一项
2:你得到的数据可能是n条,但是用到了n+1条
[/Quote]

dataManager就是我的那个所有数组的类啊。。。第二条回复里面的。。。

还是找不到哪里越界了。。汗
lizhengjun2010 2011-07-13
  • 打赏
  • 举报
回复
Log.d(TAG,String.valueOf(j));
if(j<14){
Log.d(TAG,newdrawableListfp.get(j).toString());//数组长度13,下标0-12,j=13时,get(j)越界,下面都是这样....
return newdrawableListfp.get(j); Log.d(TAG,String.valueOf(j));
if(j<14){
Log.d(TAG,newdrawableListfp.get(j).toString());
return newdrawableListfp.get(j);
}else if(j>13 && j<27){
Log.d(TAG,newdrawableListht.get(j).toString());
return newdrawableListht.get(j-13);
}else if(j>26 && j<40){
Log.d(TAG,newdrawableListhtt.get(j).toString());
return newdrawableListhtt.get(j-26);
}else if(j>39 && j<53){
Log.d(TAG,newdrawableListmh.get(j).toString());
return newdrawableListmh.get(j-39);

guo_jianwen 2011-07-13
  • 打赏
  • 举报
回复

List<Integer> newdrawableListfp=dataManager.getDrawableListfp();
List<Integer> newdrawableListht=dataManager.getDrawableListht();
List<Integer> newdrawableListhtt=dataManager.getDrawableListhtt();
List<Integer> newdrawableListmh=dataManager.getDrawableListmh();
guo_jianwen 2011-07-13
  • 打赏
  • 举报
回复
兄弟,你也没说dataManager是什么?哪行报的错?越界肯定是某个List哦。
passself 2011-07-13
  • 打赏
  • 举报
回复
很显然数组越界,只有几种可能,1:你没有得到数据,就使用了数组的某一项,比如第一项
2:你得到的数据可能是n条,但是用到了n+1条
wc7253027 2011-07-13
  • 打赏
  • 举报
回复
这是数组的代码:
package com.huawei.test;

import java.util.ArrayList;
import java.util.List;

import com.huawei.biz.R;

public class dataManager {
public static List<Integer> drawableListfp=new ArrayList<Integer>();
public static List<Integer> drawableListht=new ArrayList<Integer>();
public static List<Integer> drawableListmh=new ArrayList<Integer>();
public static List<Integer> drawableListhtt=new ArrayList<Integer>();

public static List<Integer> getDrawableListfp(){
drawableListfp.clear();
drawableListfp.add(R.drawable.fp1);
drawableListfp.add(R.drawable.fp2);
drawableListfp.add(R.drawable.fp3);
drawableListfp.add(R.drawable.fp4);
drawableListfp.add(R.drawable.fp5);
drawableListfp.add(R.drawable.fp6);
drawableListfp.add(R.drawable.fp7);
drawableListfp.add(R.drawable.fp8);
drawableListfp.add(R.drawable.fp9);
drawableListfp.add(R.drawable.fp10);
drawableListfp.add(R.drawable.fp11);
drawableListfp.add(R.drawable.fp12);
drawableListfp.add(R.drawable.fp13);
return drawableListfp;
}
public static List<Integer> getDrawableListht(){
drawableListht.clear();
drawableListht.add(R.drawable.ht1);
drawableListht.add(R.drawable.ht2);
drawableListht.add(R.drawable.ht3);
drawableListht.add(R.drawable.ht4);
drawableListht.add(R.drawable.ht5);
drawableListht.add(R.drawable.ht6);
drawableListht.add(R.drawable.ht7);
drawableListht.add(R.drawable.ht8);
drawableListht.add(R.drawable.ht9);
drawableListht.add(R.drawable.ht10);
drawableListht.add(R.drawable.ht11);
drawableListht.add(R.drawable.ht12);
drawableListht.add(R.drawable.ht13);
return drawableListht;
}
public static List<Integer> getDrawableListmh(){
drawableListmh.clear();
drawableListmh.add(R.drawable.mh1);
drawableListmh.add(R.drawable.mh2);
drawableListmh.add(R.drawable.mh3);
drawableListmh.add(R.drawable.mh4);
drawableListmh.add(R.drawable.mh5);
drawableListmh.add(R.drawable.mh6);
drawableListmh.add(R.drawable.mh7);
drawableListmh.add(R.drawable.mh8);
drawableListmh.add(R.drawable.mh9);
drawableListmh.add(R.drawable.mh10);
drawableListmh.add(R.drawable.mh11);
drawableListmh.add(R.drawable.mh12);
drawableListmh.add(R.drawable.mh13);
return drawableListmh;
}
public static List<Integer> getDrawableListhtt(){
drawableListhtt.clear();
drawableListhtt.add(R.drawable.htt1);
drawableListhtt.add(R.drawable.htt2);
drawableListhtt.add(R.drawable.htt3);
drawableListhtt.add(R.drawable.htt4);
drawableListhtt.add(R.drawable.htt5);
drawableListhtt.add(R.drawable.htt6);
drawableListhtt.add(R.drawable.htt7);
drawableListhtt.add(R.drawable.htt8);
drawableListhtt.add(R.drawable.htt9);
drawableListhtt.add(R.drawable.htt10);
drawableListhtt.add(R.drawable.htt11);
drawableListhtt.add(R.drawable.htt12);
drawableListhtt.add(R.drawable.htt13);
return drawableListhtt;
}
}

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧