用java生成一个1到10十个数字随机排列的数组

方法是:建立另一个arraylist,里面是1-10十个数字,从里面随机抽出一个数字,加入需要生成的数组中,循环十次。求JAVA程序... 方法是:建立另一个arraylist,里面是1-10十个数字,从里面随机抽出一个数字,加入需要生成的数组中,循环十次。求JAVA程序 展开
 我来答
雪飞潇潇
推荐于2017-09-27 · TA获得超过6275个赞
知道大有可为答主
回答量:1968
采纳率:91%
帮助的人:866万
展开全部

代码如下

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] + " ");
}
}
}
ywt474000158
2013-12-22 · 还没有任何签名哦
ywt474000158
采纳数:54 获赞数:231

向TA提问 私信TA
展开全部
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);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式