Java集合综合练习1——扑克牌发牌

本文通过Java编程实现向三位玩家依次发牌的操作,详细介绍了相关代码逻辑和运行结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现给三名玩家发牌操作

public static void main(String[] args) {
   
   
		String[] color = {
   
    "♥", "♠", "♣", "♦" };
		String[] numbers = {
   
    "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" };

		// 用于保存所有牌的LinkedHashMap 保持添加键值对的顺序
		// key:代表每个牌的数字
		// value:代表数字对应的牌面
		LinkedHashMap<Integer, String> pokerMap = new LinkedHashMap<Integer, String>();

		// 创建一个用来保存所有扑克牌值的数字集合
		ArrayList<Integer> pokerValueList = new ArrayList<Integer>();

		// 1. 准备扑克牌 初始化集合对象
		for (int i = 0; i < 52; i++) {
   
   
			// 添加扑克牌值
			pokerValueList.add(i);
			// 计算扑克牌面 计算花色
			int colorIndex = i % 4;
			// System.out.println(color[colorIndex]);

			// 计算扑克牌的值
			int pokerIndex = i / 4;
			//System.out.println(pokerIndex);
			
			//用字符串接受花色与数值
			String poker = color[colorIndex] + numbers[pokerIndex];
			//添加到扑克牌的Map
			pokerMap.put(i,poker);
		}

		System.out.println("准备扑克牌");
		System.out.println("扑克牌值:"+pokerValueList);
		System.out.println("扑克牌面:"+pokerMap);
	
		//2.洗牌
		System.out.println("洗牌");
		Collections.shuffle(pokerValueList);
		System.out.println(pokerValueList);
	
		//3.发牌
		//创建每个玩家的扑克牌值的集合  treeset 不允许重复 避免玩家拿到两张同一张 的牌
		// 可以自动排序
		TreeSet<Integer> play1 = new TreeSet<Integer>();
		TreeSet<Integer> play2 = new</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值