需求:
编写一个程序,获取10个随机数,要求随机数不能重复。并把最终的随机数保存到数组里;
实现代码:
package cn.itcast.array.work;
import java.util.Random;
//随机输出10个不重复的数
public class Test9 {
public static void main(String[] args) {
Random random = new Random(); //创建随机数
int[] arr1 = new int[10]; //创建数组arr1
//外循环是循环出10个数,内循环是随机数分别与数组中的所有数进行对比
for (int i = 0; i < arr1.length; i++) {
int count = 0; //记录arr[j]和number相同的次数
int number = random.nextInt(10)+1;//十个数是1-10
for (int j = 0; j < arr1.length; j++) {
if (arr1[j]==number){ //如果arr[j]这个内循环中有数和number数相同
count++; //则count加一,退出循环
break;
}
}
if (count==0){ //如果count等于零说明arr1[j]中里面没有数和number相同
arr1[i] = number; //然后就把值赋给arr[i]
}else { //如果count等于1,(反正不是0就是1)说明arr[j]和number中有相同的
i--; //因为这个数不满足条件,外循环要自增就变成下一个数了
} //这个arr1[i]没打,所以自减,继续打这个
}
//遍历数组
for (int i = 0; i < arr1.length; i++) {
System.out.println(arr1[i]);
}
}
}
/*
忠告:
要是还没看懂,多看看arr1[i],arr1[j],count是干什么的。
*/
运行: