• java集合练习,模拟扑克牌发牌。打印最后每个玩家的手牌信息。地主用随机数生成。


    分析:

    首先,创建两个集合color和num,存放花色和牌的大小。

    用Collections.addAll添加花色和牌的大小到集合中。

     ArrayListcolor=new ArrayList();
       ArrayListnum=new ArrayList();
       Collections.addAll(color,"♥","♠","♣","♦");
       Collections.addAll(num,"A","2","3","4","5","6","7","8","9","10","J","Q","K");

     

     

    第二步,创建poker集合,用两个循环嵌套拼接花色和牌的大小到poker集合中,每循环一次就添加一个。最后把大小王单独添加到poker集合中。用Collections.shuffle(poker);打乱集合顺序。

     ArrayListpoker=new ArrayList();
       for(int i=0;i    {
           for(int j=0;j        {
               poker.add(color.get(i)+num.get(j));
           }
       }
       poker.add("大王");
       poker.add("小王");

    Collections.shuffle(poker);

     

    第三步,创建三位玩家的手牌集合,用循环把poker集合的前51的索引元素通过取余的方法平均添加到每位玩家的手牌集合中。

     ArrayListplay1=new ArrayList();
       ArrayListplay2=new ArrayList();
       ArrayListplay3=new ArrayList();
        for(int i=0;i<51;i++)
        {
            if(i%3==0)
            {
                play1.add(poker.get(i));
            }
            else if(i%3==1)
            {
                play2.add(poker.get(i));
            }
            else {
                play3.add(poker.get(i));
            }
        }

    第四步, 随机数生成地主,并且把剩下三张牌添加到对应的玩家手牌集合中。最后打印玩家手牌信息。

    Random r=new Random();
        int moster=r.nextInt(3)+1;
        switch (moster) {
        case 1: {
            System.out.println("玩家一没头脑抢到了地主");
            Collections.addAll(play1, poker.get(51),poker.get(52),poker.get(53));
            break;
        }
        case 2: {
            System.out.println("玩家二不开心抢到了地主");
            Collections.addAll(play2, poker.get(51),poker.get(52),poker.get(53));
            break;
        }
        default: {
            System.out.println("玩家三不聪明抢到了地主");
            Collections.addAll(play3, poker.get(51),poker.get(52),poker.get(53));
            break;
        }
         }
        System.out.println("玩家一没头脑的牌有"+play1);
        System.out.println("玩家二不开心的牌有"+play2);
        System.out.println("玩家三不聪明的牌有"+play3);
      }
    }

     代码结果如下:

     完整代码:

    package act;
    import java.util.*;
    public class Test2 {

        public static void main(String[] args) {
            // TODO Auto-generated method stub
       ArrayListcolor=new ArrayList();
       ArrayListnum=new ArrayList();
       Collections.addAll(color,"♥","♠","♣","♦");
       Collections.addAll(num,"A","2","3","4","5","6","7","8","9","10","J","Q","K");
       ArrayListpoker=new ArrayList();
       for(int i=0;i    {
           for(int j=0;j        {
               poker.add(color.get(i)+num.get(j));
           }
       }
       poker.add("大王");
       poker.add("小王");
       Collections.shuffle(poker);
       ArrayListplay1=new ArrayList();
       ArrayListplay2=new ArrayList();
       ArrayListplay3=new ArrayList();
        for(int i=0;i<51;i++)
        {
            if(i%3==0)
            {
                play1.add(poker.get(i));
            }
            else if(i%3==1)
            {
                play2.add(poker.get(i));
            }
            else {
                play3.add(poker.get(i));
            }
        }
        Random r=new Random();
        int moster=r.nextInt(3)+1;
        switch (moster) {
        case 1: {
            System.out.println("玩家一没头脑抢到了地主");
            Collections.addAll(play1, poker.get(51),poker.get(52),poker.get(53));
            break;
        }
        case 2: {
            System.out.println("玩家二不开心抢到了地主");
            Collections.addAll(play2, poker.get(51),poker.get(52),poker.get(53));
            break;
        }
        default: {
            System.out.println("玩家三不聪明抢到了地主");
            Collections.addAll(play3, poker.get(51),poker.get(52),poker.get(53));
            break;
        }
         }
        System.out.println("玩家一没头脑的牌有"+play1);
        System.out.println("玩家二不开心的牌有"+play2);
        System.out.println("玩家三不聪明的牌有"+play3);
      }
    }
     

  • 相关阅读:
    数据结构复盘——第一章:绪论
    性能测试 —— Tomcat监控与调优:status页监控
    SQL Server 中的 ACID 属性
    分析日志的一般套路
    sql各种注入案例
    02-MySQL库和表的操作
    【Java核心技术卷 1学习笔记】(一)Java程序设计概述
    FPGA_探针(ISSP)调试工具
    第十三章:IO流
    MySQL 从入门到入狱 rm - rf /* 咳咳~ 到精通
  • 原文地址:https://blog.csdn.net/qq_32071537/article/details/127591878