允歆辰丶 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日