導航:首頁 > 源碼編譯 > 洗牌演算法java

洗牌演算法java

發布時間:2023-05-10 17:18:11

A. 關於洗牌演算法,請用java編寫,定義一個數組,儲存1-52以內的數,打亂順序輸出!

import java.util.Enumeration;
import java.util.Hashtable;/**
* 7. * 亂序撲克牌 洗牌方法 8. * 9. *
*
* @author virture 10. * 11.
*/
public class Cards { Hashtable htMember = new Hashtable();// 放置撲克牌的Hash表 public Cards() { } public void put(String card) {
htMember.put(card, card);
} public void get() {
System.out.println("你拿到的牌是:");
Enumeration RLKey = htMember.keys();
while (RLKey.hasMoreElements()) {
String accKey = RLKey.nextElement().toString();// 取HashTable中的關鍵字詞
System.out.print((String) htMember.get(accKey) + ",");
}
} public static void main(String[] args) {
String[] cards = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10",
"J", "Q", "K" };
String[] kinds = { "黑桃", "紅桃", "梅花", "方塊" }; Cards cardList = new Cards(); String suit;// 當前選中牌的類型
String face;// 當前選中牌
int randomCardNum = 52;// 當前隨機取牌的個數,記住不能大於全部牌52張 while (true) {
suit = kinds[Math.round((float) Math.random() * (kinds.length - 1))];
face = cards[Math.round((float) Math.random() * (cards.length - 1))]; cardList.put(suit + face);
if (cardList.htMember.size() >= randomCardNum
&& cardList.htMember.size() <= 52) {
break;
}
}
cardList.get();
}
}

B. java洗牌演算法問題

你用System.out.print方法列印一個對象時,控制台會默認調用其toString方法,java就這么設計的

C. 用JAVA寫個代碼,實現52張牌隨機分給四個人

java內的Collections類自帶了一個shuffle洗牌演算法。

static void shuffle(List<?> list)
使用默認隨機源對指定列表進行置換。
static void shuffle(List<?> list, Random rnd)
使用指定的隨機源對指定列表進行置換。

現在你可以把52張牌放進一個List里,調用他的shuffle演算法打亂順序。

閱讀全文

與洗牌演算法java相關的資料

熱點內容
php獲取數據轉json數據 瀏覽:525
程序員入職比期望薪資高 瀏覽:889
蘋果電腦怎麼在桌面建新文件夾 瀏覽:526
蘋果上不小心買錯了app怎麼撤銷 瀏覽:845
蘋果手機在設置怎麼卸載app 瀏覽:317
我的世界基岩版正版伺服器地址 瀏覽:562
vci命令 瀏覽:834
快剪輯app如何提取音樂 瀏覽:950
gcc編譯器適合單片機開發嗎 瀏覽:886
自做app如何聯網 瀏覽:303
vs的編譯運行 瀏覽:89
app反編譯後怎麼看代碼 瀏覽:766
蘇寧程序員需要注意什麼 瀏覽:557
主力離場指標源碼 瀏覽:345
makefilelinux命令 瀏覽:214
電解壓力表三根線怎麼接 瀏覽:255
夠近物聯app怎麼樣 瀏覽:329
網路中心伺服器是什麼 瀏覽:64
php匹配多次 瀏覽:348
安卓手機怎麼找到不是正常文件的 瀏覽:291