允歆辰丶 2022-03-20 15:00 采纳率: 57.1%
浏览 11

Java关于随机数不出现重复的一段代码问题

public class exercise3 {
public static void main(String[] args) {
int[] arr=new int[6];
for(int i=0;i<arr.length;i++)
arr[i]=(int)((Math.random()*10)+1);
boolean flag=false;
while(true) {
int i;
for(i=1;i<arr.length;i++)
for(int j=0;j<i;j++)
{if(arr[j]==arr[i])
{ flag=true;
break;
}

    }
    if(flag==true)
        {arr[i]=(int)((Math.random()*10)+1);
        flag=false;
        continue;
        }
    break;
        }

for(int i=0;i<arr.length;i++)
    System.out.print(arr[i]+"  ");

    

}
}
为什么显示Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 6 out of bounds for length 6
at Array/com.studyjava.exercise.exercise3.main(exercise3.java:21)

  • 写回答

1条回答 默认 最新

  • 暖凉丶 2022-03-20 15:19
    关注

    下边第三行 {arr[i]=(int)((Math.random()*10)+1);
    这里的i是6数组越界了

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 3月20日

悬赏问题

  • ¥60 db2move nlzxams import 导出db2备份数据报错
  • ¥15 关于#python#的问题:全文总结功能咨询
  • ¥15 俄罗斯方块中无法同时消除多个满行
  • ¥15 c#转安卓 java html
  • ¥15 使用gojs3.0,如何在nodeDataArray设置好text的位置,再go.TextBlock alignment中进行相应的改变
  • ¥15 psfusion图像融合指标很低
  • ¥15 银河麒麟linux系统如何修改/etc/hosts权限为777
  • ¥50 医院HIS系统代码、逻辑学习
  • ¥30 docker离线安装mysql报错,如何解决?
  • ¥15 构建工单的总账影响在哪里查询或修改