一个算法问题! 一个int数组里边有n个数字,我现在要随机取出其中的几个,并且取出的数字不重复,请问应该用什么方法呢?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ArrayList list=new ArrayList(50); for(int i=0;i<50;i++){ list.add(new Integer(i)); } Collections.shuffle(list); int reqnum=10;//需要取多少个 for(int i=0;i<reqnum;i++){ System.out.println(list.get(i)); }用Collections.shuffle(list);将list打乱,然后直接取就可以了如果本来数组里面就有重复的,将数组放入HashSet,然后再转成list就可以了当然也可以随机遍历数组,发现取过就放弃,不过觉得不够方便 哈哈, fool_leave 的动作可真快我只能在想一种办法了。int ai[] = new int[108];//生成108个数字放到数组中ai中。for (int i = 0; i < 108; i++) ai[i] = i;//打乱顺序for (int j = 0; j < ai.length; j++) { //Math.floor:返回最大的(最接近正无穷大)double 值,该值小于或等于参数,并且等于某个整数。 int i1 = (int) Math.floor(Math.random() * 108D); int j1 = ai[i1]; ai[i1] = ai[j]; ai[j] = j1;}//输出; for(int i=0; i<108; i++){ System.out.println(i + " = " +ai[i]);} 執行緒的問題 java菜单编程 以下语句可以实现类同步吗? 我不太明白的一个小程序 参数前面为什么要加"-"号? 怎么从InputStream里面得到Image 指定ResultSet中的具体拿一条记录集?? 一个小问题,请大家帮忙 请教一个很简单的有关FoucusEvent类中isTemporary方法的问题! jcreator问题,请帮忙。。。。 利用javamail读取邮件时发生以下错误 微软提供的三个压缩包
for(int i=0;i<50;i++){
list.add(new Integer(i));
}
Collections.shuffle(list);
int reqnum=10;//需要取多少个
for(int i=0;i<reqnum;i++){
System.out.println(list.get(i));
}用Collections.shuffle(list);将list打乱,然后直接取就可以了如果本来数组里面就有重复的,将数组放入HashSet,然后再转成list就可以了
当然也可以随机遍历数组,发现取过就放弃,不过觉得不够方便
我只能在想一种办法了。int ai[] = new int[108];
//生成108个数字放到数组中ai中。
for (int i = 0; i < 108; i++)
ai[i] = i;//打乱顺序
for (int j = 0; j < ai.length; j++)
{
//Math.floor:返回最大的(最接近正无穷大)double 值,该值小于或等于参数,并且等于某个整数。
int i1 = (int) Math.floor(Math.random() * 108D);
int j1 = ai[i1];
ai[i1] = ai[j];
ai[j] = j1;
}//输出;
for(int i=0; i<108; i++)
{
System.out.println(i + " = " +ai[i]);
}