java怎么从数组a中随机选取几个数放入数组b中,急

比如数组a{0,1,2,3,4,5,6,7,8,9,}中随机选几个数(数字随机,个数不等),比如1,2,3或1,2,3,4,5这样,高手求救
最新回答
我是打不死的小强

2024-10-22 07:14:16

这是取
随机数
import java.util.Random;
public class vder {
public static void main(String[] args) {
int a[]={1,2,3,4,5,6,7,8,9,0};
boolean r[]=new boolean[a.length];
Random random = new Random();
int m = 5; //要随机取的元素个数
if(m > a.length || m < 0)
return;
int n = 0;
while(true)
{
int temp = random.nextInt(10);
if(!r[temp])
{
if(n == m) //取到足量随机数后退出循环
break;
n ++;
System.out.println("得到的第" + n +"个随机数为:" + temp);
r[temp ] = true; //这里将temp赋值给数组,就不用我贴出代码来了啊
}
}
}
}
バ快乐De右岸ヤ

2024-10-22 03:06:39

我好久没写代码了 我就告诉你一下思路吧,首先数组的长度 a.length 可以取不等的个数 Math.random(0,a.length);再取随机的几个数 for(int i = 0; i < a.length; i++){ System.out.println(a[a.length]); }这样可能会出现重复的 你也可以加个判断什么的。
璎婲

2024-10-22 06:54:15

public class checkoutFromList {

public static void main(String args[]) {
int a[] = {0,1,2,3,4,5,6,7,8,9};
// 取出次数
int checkOutCount = (int)(Math.random()*10);
// 第几位取出
int checkOutIndex;
for (int i = 0;i < checkOutCount;i++) {
checkOutIndex = (int)(Math.random()*10);
System.out.println(a[checkOutIndex]);
}
}
}
筱冰蜜子

2024-10-22 02:32:50

void addSomeNumber(int[] a)
{
Random rd = new Random(System.currentTimeMillis());
int idx = rd.nextInt(a.length);
if(idx == 0)
return a[0];
List list = new ArrayList<Integer>();
for(int i = 0; i < idx; i++) // 个数随机

{
// 随机一个数组

int tmpIdx = rd.nextInt(a.length);

// 去重复

while( list.contains(tmpIdx) )
tmpIdx = rd.nextInt(a.length);

list.add(tmpIdx);

System.out.prinln( a[tmpIdx] ); // 数字随机
}
}
}
念河山远

2024-10-22 03:54:08

int m = (int)Math.random()*10;
for(int i=0;i<m;i++){
int n = (int)Math.random()*10;
sysou.println(a[n]);
}
自己手动敲的哈,应该能看懂把。