斗地主中,54张牌,农民各17张,地主20张,两方拿到4张2的概率

假设为农民             
P==0.0075      

54张牌中任取17张即假设已经摸到了四个二,其他的牌变成了随机,也就是(从50张牌中任取13张)


假设为地主:

 P==0.0153

54张牌中任取20张即假设已经摸到了四个二,其他的牌变成了随机,也就是(从50张牌中任取16张)

要实现斗地主随机发牌的功能,你可以按照以下步骤进行操作: 1. 创建一个包含所有54张牌的列表。 2. 使用Collections.shuffle()方法对牌进行随机排序。 3. 创建三个玩家列表,分别表示两个农民和一个地主。 4. 使用列表的subList()方法将前17张牌分配给第一个农民,接下来的17张牌分配给第二个农民,剩余的20张牌分配给地主。 5. 输出每个玩家手的牌。 以下是一个示例代码: ```java import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Doudizhu { private static final String[] suits = {"梅花", "红桃", "黑桃", "方片"}; private static final String[] ranks = {"3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "2", "大王", "小王"}; public static void main(String[] args) { List<String> deck = createDeck(); shuffleDeck(deck); List<String> farmer1 = deck.subList(0, 17); List<String> farmer2 = deck.subList(17, 34); List<String> landlord = deck.subList(34, 54); System.out.println("农民1的牌:" + farmer1); System.out.println("农民2的牌:" + farmer2); System.out.println("地主的牌:" + landlord); } private static List<String> createDeck() { List<String> deck = new ArrayList<>(); for (String suit : suits) { for (String rank : ranks) { deck.add(suit + " " + rank); } } return deck; } private static void shuffleDeck(List<String> deck) { Collections.shuffle(deck); } } ``` 这个示例代码,我们首先创建了一个包含所有54张牌的列表。然后使用Collections.shuffle()方法对牌进行随机排序。接着,我们使用subList()方法将牌分配给每个玩家,并输出每个玩家手的牌。 希望这个示例能够帮助你实现斗地主随机发牌的功能!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值