导航:首页 > 源码编译 > 洗牌算法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相关的资料

热点内容
快剪辑app如何提取音乐 浏览:950
gcc编译器适合单片机开发吗 浏览:886
自做app如何联网 浏览:303
vs的编译运行 浏览:89
app反编译后怎么看代码 浏览:766
苏宁程序员需要注意什么 浏览:557
主力离场指标源码 浏览:345
makefilelinux命令 浏览:214
电解压力表三根线怎么接 浏览:255
够近物联app怎么样 浏览:329
网络中心服务器是什么 浏览:64
php匹配多次 浏览:348
安卓手机怎么找到不是正常文件的 浏览:291
应届生如何成为程序员 浏览:648
麦德龙app怎么更改配送方式 浏览:43
用ae压缩视频文件 浏览:480
stc单片机跑马灯 浏览:612
服务器四口卡怎么用 浏览:609
匹配python注释 浏览:408
什么是程序员才懂得梗 浏览:396