代码如下
import java.util.ArrayList;
public class ArrayListToAry {
public static void main(String[] args) {
//数组
int[] ary = new int[10];
//集合
ArrayList<Integer> list = new ArrayList<Integer>();
//给集合添加1~10的数字
for (int i = 1; i < 11; i++) {
list.add(i);
}
//循环10次,随即抽取集合的数字给数组
for (int i = 0; i < 10; i++) {
ary[i] = list.get((int)(Math.random()*10));
}
///输出数组的元素
System.out.print("数组的元素:");
for (int i = 0; i < ary.length; i++) {
System.out.print(ary[i]+" ");
}
}
}
追问谢谢你的回答~如果是需要数组里面元素是不重复1-10个数字,该怎么修改啊?
追答效果如图:
代码如下
public class ArrayListToAry {
public static void main(String[] args) {
// 数组
int[] ary = new int[10];
// 集合 ,临时集合temp存放1~10个数字
ArrayList<Integer> temp = new ArrayList<Integer>();
//list集合存放需要的数字
ArrayList<Integer> list = new ArrayList<Integer>();
// 给集合添加1~10的数字
for (int i = 1; i < 11; i++) {
temp.add(i);
}
// while循环 随即抽取集合的数字给数组
int index = 0;
while (true) {
if(list.size()==10){
break;
}
int it = temp.get((int) (Math.random() * 10));
//如果list存在这个数组就继续循环
if (list.contains(it)) {
continue;
} else {
//如果list不存在这个数字,那么就把这个数字给数组,并且在list中加入这个数字
ary[index] = it;
list.add(it);
index++;
}
}
// /输出数组的元素
System.out.print("数组的元素:");
for (int i = 0; i < ary.length; i++) {
System.out.print(ary[i] + " ");
}
}
}