一、代码
import java.util.Random;
public class Test_10 {
public static void main(String[] args) {
Random rm = new Random();
int[] arr = new int[5];
for (int i = 0; i < 5; i++) {
arr[i] = rm.nextInt(10) + 1;
for (int j = 0; j < i; j++) {
if (arr[i] == arr[j]) {
i = i - 1;
break;
}
}
}
for (int k : arr) {
System.out.print(k + " ");
}
}
}
二、代码分析
1.产生随机数,创建长度为5的数组,
外层循环控制产生5次1~10之间的随机数。
Random rm = new Random();
int[] arr = new int[5];
for (int i = 0; i < 5; i++) {
arr[i] = rm.nextInt(10) + 1;
}
}
2. 内层循环用来查询重复。从下标为0的元素开始一次遍历到下标为i-1的元素,如果发现有重复的,就让该元素下标减一i,然后在执行for循环的i++,然后在给i的位置赋值。相当于假如该的元素和前面元素出现重复,重新给该位置随机一个数字覆盖掉重复的值。
for (int j = 0; j < i; j++) {
if (arr[i] == arr[j]) {
i = i - 1;
break;
}
3. 输出语句(增强for循环)
for (int k : arr) {
System.out.print(k + " ");
}