java實現一個洗牌程式

metrowilliam發表於2011-02-24
package com.gui.xp;

public class Shuffle {
/**
* 洗牌
*/
public static void main(String[] args) {
System.out.println(xp());
}

public static int xp() {
// member為隊員號碼陣列,共19個隊員
int[] member = new int[54];
for (int i = 0; i < member.length; i++) {
member[i] = i + 1;
}

int[] temp = new int[54];

// 給臨時陣列賦隨機數
for (int i = 0; i < 54; i++) {
int priority = (int) (Math.random() * 999);
temp[i] = priority;
}

// 在給臨時陣列做氣泡排序的時候,也同時打亂member陣列的順序,也就是洗牌。
for (int i = 0; i < 54; i++) {
for (int j = i; j < 54; j++) {
if (temp[i] > temp[j]) {
int tmp = temp[i];
temp[i] = temp[j];
temp[j] = tmp;

tmp = member[i];
member[i] = member[j];
member[j] = tmp;
}
}
}

// 因為已經是隨機排序了,直接返回第一個人的號碼就行了。
return member[0];
}

}

相關文章