用java生成一个1到10十个数字随机排列的数组
方法是:建立另一个arraylist,里面是1-10十个数字,从里面随机抽出一个数字,加入需要生成的数组中,循环十次。求JAVA程序...
方法是:建立另一个arraylist,里面是1-10十个数字,从里面随机抽出一个数字,加入需要生成的数组中,循环十次。求JAVA程序
展开
2个回答
展开全部
代码如下
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] + " ");
}
}
}
展开全部
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class baiduTest1
{
public static void main(String[] args)
{
List<Integer> arrayList1 = new ArrayList<Integer>();
for(int i = 0; i < 10; i++)
{
arrayList1.add(i+1);
}
List<Integer> arrayList2 = new ArrayList<Integer>();
for(int i = 0; i < 10; i++)
{
Integer x = new Random().nextInt(10);
arrayList2.add(i,arrayList1.get(x));
}
System.out.println(arrayList1);
System.out.println(arrayList2);
}
}
不重复是这样的。
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class baiduTest1
{
public static void main(String[] args)
{
List<Integer> arrayList1 = new ArrayList<Integer>();
for(int i = 0; i < 10; i++)
{
arrayList1.add(i+1);
}
List<Integer> arrayList2 = new ArrayList<Integer>();
while(arrayList2.size() < 10)
{
Integer x = new Random().nextInt(10);
int i = 0;
if(arrayList2.indexOf(arrayList1.get(x)) < 0)
{
arrayList2.add(i,arrayList1.get(x));
}
i += 1;
}
System.out.println(arrayList1);
System.out.println(arrayList2);
}
}
import java.util.List;
import java.util.Random;
public class baiduTest1
{
public static void main(String[] args)
{
List<Integer> arrayList1 = new ArrayList<Integer>();
for(int i = 0; i < 10; i++)
{
arrayList1.add(i+1);
}
List<Integer> arrayList2 = new ArrayList<Integer>();
for(int i = 0; i < 10; i++)
{
Integer x = new Random().nextInt(10);
arrayList2.add(i,arrayList1.get(x));
}
System.out.println(arrayList1);
System.out.println(arrayList2);
}
}
不重复是这样的。
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class baiduTest1
{
public static void main(String[] args)
{
List<Integer> arrayList1 = new ArrayList<Integer>();
for(int i = 0; i < 10; i++)
{
arrayList1.add(i+1);
}
List<Integer> arrayList2 = new ArrayList<Integer>();
while(arrayList2.size() < 10)
{
Integer x = new Random().nextInt(10);
int i = 0;
if(arrayList2.indexOf(arrayList1.get(x)) < 0)
{
arrayList2.add(i,arrayList1.get(x));
}
i += 1;
}
System.out.println(arrayList1);
System.out.println(arrayList2);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询