数组越界问题,自己实在是没看出来错在哪里,请大家帮忙

kj_stone 2014-10-31 08:07:12
public int[] RandomOrder(){
//返回一个数组,里面是1~6的随机排序
int a[]={1,2,3,4,5,6};
int o[]={0,0,0,0,0,0};
int index,i;

index=(int)(Math.random()*6);//index=0~5
o[0]=a[index];
for(i=index;i<5;i++){
a[i]=a[i+1];
}


index=(int)(Math.random()*5);//index=0~4
o[1]=a[index];
for(i=index;i<4;i++){
a[i]=a[i+1];
}

index=(int)(Math.random()*4);//index=0~3
o[2]=a[index];
for(i=index;i<3;i++){
a[i]=a[i+1];
}

index=(int)(Math.random()*3);//index=0~2
o[3]=a[index];
for(i=index;i<2;i++){
a[i]=a[i+1];
}

index=(int)(Math.random()*2);//index=0~1
o[4]=a[index];
for(i=index;i<1;i++){
a[i]=a[i+1];
}

o[5]=a[0];

return o;
}
...全文
218 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
开发者_android 2014-10-31
  • 打赏
  • 举报
回复
你这个方法里面没有问题,#1说的情况是有可能.
Hare_ 2014-10-31
  • 打赏
  • 举报
回复
恭喜楼主问题解决,分给我把!
kj_stone 2014-10-31
  • 打赏
  • 举报
回复
找到原因了,问题不在这个方法里面,外面调用的这个方法的返回值出错,数组应该是0~5,这里返回的是1~6.

80,359

社区成员

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

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