题目要求:1.数组的长度为10
2.数组内元素随机生成范围是1~10
3.要求数组不重复
public class ArrayTest {
public static void main(String[] args) {
//新建数组
int a[] = new int[10];
int num = 0;
System.out.print("生成的元素:");
for (int i = 0; i < a.length; i++) {
do {
num = (int) (Math.random() * 10 + 1);
System.out.print(num+" ");
} while (check(a, i, num));
a[i] = num;
}
System.out.println("\n"+Arrays.toString(a));
}
/**
* 检查新生成的数字是否在数组内出现过
* 出现过返回true 继续循环
* 没有出现过返回false 停止循环添加到数组内
*
* @param a 数组
* @param i 数组下标
* @param num 随机生成的数字
* @return 结果
*/
private static boolean check(int[] a, int i, int num) {
for (int j = 0; j < i; j++) {
if (a[j] == num)
return true;
}
return false;
}
}