import java.util.*; class ArrySort{ public static final int[] a = {5,6,8,12,9}; private static Random rand = new Random(); public static void main(String[] args){ int[] b = new int[5]; boolean[] picked = new boolean[a.length]; for(int i=0;i<a.length;i++){ int t; do t = rand.nextInt(a.length); while(picked[t]); b[i] = a[t]; picked[t] =true; System.out.println(b[i]); } } } 完全可行!
daijunchenxiaoyue(学习Core Java中) :import java.util.*; public class test4 { public test4() { } public static void main(String[] args){ List list = new ArrayList(); int r1 = 0; list.add("5"); list.add("6"); list.add("8"); list.add("12"); list.add("9"); Collections.shuffle(list); for(int i=0;i<list.size();i++){ System.out.println(list.get(i)); } } }明白了?
int[]x = {5,6,8,12,9};
int j =0;
int i1;
int i2=-1;
int i3=-1;
int i4=-1;
int i5=-1;
i1 = (int)(Math.random()*5);
while ( j < 5){
i1 = (int)(Math.random()*5);
if(i1!=i2 & i1!=i3 & i1!=i4 & i1!=i5)
{
System.out.println(x[i1] );
i5 =i4;
i4 =i3;
i3 =i2;
i2 =i1;
j++;
}
}
的方法不错比我想的好!
呵呵
但是指出一点多余的
i1 = (int)(Math.random()*5); //这一句没有必要。
while ( j < 5){
i1 = (int)(Math.random()*5);
呵呵
import java.util.*;public class test3 {
public test3() {
}
public static void main(String[] args){
List list = new ArrayList();
int r1 = 0;
list.add("5");
list.add("6");
list.add("8");
list.add("12");
list.add("9");
int s1 = list.size();
for(int i=0;i<s1;i++){
r1 = (int)(Math.random()*list.size());
System.out.println(list.get(r1));
list.remove(r1);
}
}
}这样做资源占用低,
而且绝对只有list.size()次选环,
不存在判断重复的情况
呵呵
可以给分了。
每个人访问的时候看到的都是随机排列的顺序.
故mind_1220(大灰狼) 的方法不行吧?
zhoushuer(小周一剑)你运行了大灰狼的程序了吗?
class ArrySort{
public static final int[] a = {5,6,8,12,9};
private static Random rand = new Random();
public static void main(String[] args){
int[] b = new int[5];
boolean[] picked = new boolean[a.length];
for(int i=0;i<a.length;i++){
int t;
do
t = rand.nextInt(a.length);
while(picked[t]);
b[i] = a[t];
picked[t] =true;
System.out.println(b[i]);
}
}
}
完全可行!
我晕
当我白说了前面的话。
Java居然连这种东西都有现成的……
程序员不混了
ChDw(米) :
真想和你交个朋友。
能介绍一下Collections.shuffle(List list)
怎么用吗,谢谢
public class test4 {
public test4() {
}
public static void main(String[] args){
List list = new ArrayList();
int r1 = 0;
list.add("5");
list.add("6");
list.add("8");
list.add("12");
list.add("9");
Collections.shuffle(list);
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
}
}明白了?
这东东功能可强了呀
喜欢~!!!