在java中 如何随机排列几个数字

比如.0--8这9个数字..如何随机进行排列???
排完之后可以放到一个数组里也可以。.

//在java中 如何随机排列几个数字

/**
* 对给定数目的自0开始步长为1的数字序列进行乱序
* @param no 给定数目
* @return 乱序后的数组
*/
public static int[] getSequence(int no) {
int[] sequence = new int[no];
for(int i = 0; i < no; i++){
sequence[i] = i;
}
Random random = new Random();
for(int i = 0; i < no; i++){
int p = random.nextInt(no);
int tmp = sequence[i];
sequence[i] = sequence[p];
sequence[p] = tmp;
}
random = null;
return sequence;
}

public static void main(String[] args) {

int[] num = getSequence(10);

for (int i = 0; i < num.length; i++) {
System.out.println(num[i]);
}

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-11-09
随机排列?你取得0-8之间的不重负随机数就成
一个简单的例子
Set<Integer> set=new LinkedHashSet<Integer>();
while(true){
if(set.size() == 9){
break;
}
int a=(int) (Math.random()*9);
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
set.add(a);
}
for(int b:set){
System.out.println(b);
}本回答被提问者采纳
第2个回答  2008-07-04
用Set
第3个回答  2008-07-04
public static void main(String args[]) {
Random r = new Random();
int a[] = new int[7];
for (int j = 0; j < a.length; j++) {
a[j] = r.nextInt(9);
System.out.print("" + a[j]);
}
System.out.println("");
}