• Cards


    Java 训练营

    数组

    长度与遍历数据元素

    使用.length 属性获取当前数组的长度, 长度就是数组中元素的个数.

    package day05;
    ​
    public class Demo01 {
        public static void main(String[] args) {
            /*
             * 数组的长度
             */
            String[] names = {"Tom", "Andy", "Jerry", "Wang", "John"};
            int l = names.length;
            System.out.println(l);
            /*
             * 利用长度遍历数组的元素
             */
            //               5
            for(int i = 0; i 
    

    存储一副扑克牌

    String[] cards=new String[54];
    String[] rank={"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
    for(int i=0;i 
    

    package day05;
    ​
    public class Demo02 {
        public static void main(String[] args) {
            /*
             * 创建一副扑克牌
             */
            //点数(rank)数组
            String[] rank = 
                {"3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "2"};
            //扑克牌数组, 预留54个数组元素
            String[] cards = new String[54];
            //创建扑克牌添加到cards数组中
            //              13
            for (int i = 0; i < rank.length; i++) {
                //value 代表每个点数值
                String value = rank[i];
                //创建了 黑桃3 黑桃4 ... 黑桃2
                //放到扑克牌数组中
                cards[i] = "黑桃" + value;
                cards[i + 13] = "红桃" + value;
                cards[i + 13 + 13] =  "梅花" + value;
                cards[i + 13 + 13 + 13] = "方块" + value;
            }
            cards[52] = "小王";
            cards[53] = "大王";
            //检查扑克牌数组的内容
            for (int i = 0; i < cards.length; i++) {
                String card = cards[i];
                System.out.print(card + " ");
                if ((i + 1) % 13 ==0){
                    System.out.println();
                }
            }
        }
    }

    随机数

    Java 提供了随机数API

    使用步骤:

    • import java.util.Random;

    • Random random = new Random();

    • int n = random.nextInt(8); // 8是边界范围, 当写8的时候产生: 0 ~ 7 的随机数

    package day05;
    ​
    import java.util.Random;
    ​
    public class Demo03 {
        public static void main(String[] args) {
            /*
             * 测试随机数
             */
            Random random = new Random();
            int n = random.nextInt(8);
            System.out.println(n);
        }
    }

    抽取一张扑克牌

    扑克牌的位置0~53: random.nextInt(cards.length)

    洗牌

    1. package com.zyq;
    2. import java.util.Arrays;
    3. import java.util.Random;
    4. public class Cards {
    5. public static void main(String[] args) {
    6. //1.创建一副扑克牌放入cards数组中
    7. String[] rank = {"3", "4", "5", "6", "7", "8", "9",
    8. "10", "J", "Q", "K", "A", "2"};//点数(rank)数组
    9. //扑克牌数组, 预留54个数组元素
    10. String[] cards = new String[54];
    11. //创建扑克牌添加到cards数组中
    12. // 13
    13. for (int i = 0; i < rank.length; i++) {
    14. //value 代表每个点数值
    15. String value = rank[i];
    16. //创建了 黑桃3 黑桃4 ... 黑桃2
    17. //放到扑克牌数组中
    18. cards[i] = "黑桃" + value;
    19. cards[i + 13] = "红桃" + value;
    20. cards[i + 13 + 13] = "梅花" + value;
    21. cards[i + 13 + 13 + 13] = "方块" + value;
    22. }
    23. cards[52] = "小王";
    24. cards[53] = "大王";
    25. //2.调用printCards()方法打印cards数组中生成的每张牌
    26. printCards(cards);
    27. //3.洗牌: 随机从数组中取出一张牌和第i张牌进行交换(i是一个不断减小的数组下标)
    28. Random random = new Random();
    29. for(int i=cards.length-1; i>=1; i--){
    30. int j = random.nextInt(i);
    31. String t = cards[i];
    32. cards[i] = cards[j];
    33. cards[j] = t;
    34. }
    35. //4.调用printCards()方法打印洗牌后的数组cards中的每张牌
    36. printCards(cards);
    37. //5.发牌: 将cards数组中的每张牌按顺序取出依次放入wang、lee、zhang三个数组中
    38. String[] wang = new String[17];
    39. String[] lee = new String[17];
    40. String[] zhang = new String[17];
    41. for (int i=0; i<17; i++){
    42. wang[i] = cards[i*3];
    43. lee[i] = cards[i*3+1];
    44. zhang[i] = cards[i*3+2];
    45. }
    46. //6.显示一下每个人手里的牌
    47. System.out.println("老王手上的牌是:"+Arrays.toString(wang));
    48. System.out.println("老李手上的牌是:"+Arrays.toString(lee));
    49. System.out.println("老张手上的牌是:"+Arrays.toString(zhang));
    50. }
    51. //打印cards数组中的每张牌
    52. private static void printCards(String[] cards) {
    53. //检查扑克牌数组的内容
    54. for (int i = 0; i < cards.length; i++) {
    55. String card = cards[i];
    56. System.out.print(card + " ");
    57. if ((i + 1) % 13 ==0){
    58. System.out.println();
    59. }
    60. }
    61. System.out.println();
    62. }
    63. }

    发牌

     

    练习题:

  • 相关阅读:
    【2024秋招】腾讯云智武汉后端开发一面 2023-9-20
    代码随想录day59
    用沃创云CRM系统获取客户的方式是什么?
    p18 线性代数,行阶梯型矩阵
    Navigation 组件(二) Fragment 跳转带参数,动画
    Git - 标签管理
    基于springboot+vue的养老院管理系统 前后端分离项目
    在SOUI里使用真窗口时使用SOUI的滚动条
    函数对象使用
    依赖:类之间的依赖关系【python】
  • 原文地址:https://blog.csdn.net/gulanga5/article/details/126569088