public class Array1 {
// 利用随机数生成一个整数数组,数组中有10个元素,
// 每个元素的值都在1-30之间,且要求各个数值不能相同。打印该数组。
public static void main(String[] args) {
Random ran = new Random();
int[] arr = new int[10];
arr[0] = (int) (ran.nextInt(30) + 1);
int cnt =1; //下标计数器
MAIN_LOOP: //会跳出两个for循环 并且继续执行
for (int x = 1; x < arr.length; x++) {
int i = (int) (ran.nextInt(30) + 1);
for (int j=0; j < cnt; j++) {
if (i == arr[j]){
//和当前的随机数进行比较,如果为真将跳出循环
x--; //时光到流术
continue MAIN_LOOP; //跳出两个for循环嵌套 继续执行循环
}
}
arr[cnt++] = i; //将不同的随机数 赋值给数组 数组下标++
}
for (int k : arr){ //遍历
System.out.println(k);
}
}
}
————————————————————————————————————————————
public class array1 {
// 利用随机数生成一个整数数组,数组中有10个元素,
// 每个元素的值都在1-30之间,且要求各个数值不能相同。打印该数组。
public static void main(String[] args) {
Random ran = new Random();
int[] arr = new int[10];
// 生成第一个随机数赋值数组,
// 随机数i
// 给数组赋值
arr[0] = (int) (ran.nextInt(30) + 1);
int i;
for (int j = 1; j < arr.length; j++) {
i = (int) (ran.nextInt(30) + 1);
if (jug(arr, i)) {
j--;
continue;
} else {
arr[j] = i;
}
}
System.out.println(Arrays.toString(arr));
}
private static boolean jug(int[] arr, int i) {
// TODO Auto-generated method stub
for (int j = 0; j < arr.length; j++) {
if (arr[j] == i) {
System.out.println("重複了");
return true;
}
}
return false;
}
}