作业1

编程统计字符串”ABCD123!@#$%ab”中大写字母、小写字母、数字、其它字符的个数并打印出来。

  • 思路:

(1) String类型转char[] 数组 toCharArray方法
(2) 判断字符类型的相关方法
使用Character包装类类的静态方法判断
(3)foreach结构
其他:charAt()方法等
foreach循环结构等

  1. package com.lagou.com.lagou.part3homework;
  2. import java.util.Arrays;
  3. /**
  4. * @author 西风月
  5. * @date 2020/8/2
  6. * @description
  7. * 编程统计字符串"ABCD123!@#$%ab"中大写字母、小写字母、数字、其它字符的个数并打印出来。
  8. */
  9. public class CountChar {
  10. public static void main(String[] args) {
  11. String str1 = "ABCD123!@#$%ab";
  12. int[] result = new int[4];
  13. for (char ch: str1.toCharArray()) {
  14. if(Character.isLowerCase(ch)) result[0]++; //'a' - 'z'
  15. else if(Character.isUpperCase(ch)) result[1]++; //'A' - 'Z'
  16. else if(Character.isDigit(ch)) result[2]++; //'0'-'9'
  17. else result[3]++;
  18. }
  19. System.out.println(Arrays.toString(result));
  20. }
  21. }
  • 程序运行截图:

image.png

作业2

编程题 编程获取两个指定字符串中的最大相同子串。 如: s1=”asdafghjka”, s2=”aaasdfg” 他们的最大子串为”asd”
提示: > 将短的那个串进行长度依次递减的子串与较长的串比较。

  • 思路:暴力遍历的方法

通过两个循环分别控制循环次数及子串下标,
获取较短字符串的子串,
当发现该子串在较长子串存在 使用contains方法,则跳出循环

  1. package com.lagou.com.lagou.part3homework;
  2. /**
  3. * @author 西风月
  4. * @date 2020/8/2
  5. * @description
  6. * 编程获取两个指定字符串中的最大相同子串。
  7. * 如: s1="asdafghjka", s2="aaasdfg" 他们的最大子串为"asd"
  8. * 提示: 将短的那个串进行长度依次递减的子串与较长的串比较。
  9. */
  10. public class GetLongestSubString {
  11. public static void main(String[] args) {
  12. String str1 = "asdafghjka";
  13. String str2 = "aasdfg";
  14. String maxSubString = getLongestSubString(str1, str2);
  15. System.out.println(maxSubString);
  16. }
  17. private static String getLongestSubString(String str1, String str2) {
  18. //1. 检查字符串是否相等或为空字符串
  19. if(str1 == str2) return str1;
  20. if(str1 == null || str2 == null || str1.length() == 0 || str2.length() == 0) return "";
  21. //2. 找出较短串
  22. String longStr = str1.length() >= str2.length() ? str1 : str2;
  23. String shortStr = (longStr == str1) ? str2 : str1;
  24. //3. 由长到短遍历短串
  25. for(int i = 0; i < shortStr.length(); i++) {
  26. for(int j = 0, k = shortStr.length() - i; k < shortStr.length() + 1; j++, k++) {
  27. String rst = shortStr.substring(j, k);
  28. if(longStr.contains(rst)) return rst;
  29. }
  30. }
  31. return "";
  32. }
  33. }
  • 程序输出结果: ```bash “C:\Program Files\Java\jdk-11.0.2\bin\java.exe” “-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2019.3.3\lib\idea_rt.jar=2107:C:\Program Files\JetBrains\IntelliJ IDEA 2019.3.3\bin” -Dfile.encoding=UTF-8 -classpath F:\IdeaProjects\javase\out\production\javase com.lagou.com.lagou.part3homework.GetLongestSubString asd

Process finished with exit code 0

  1. <a name="GXt3K"></a>
  2. # 作业3
  3. **编程题 **<br />
  4. > 准备一个 HashMap 集合,统计字符串"123,456,789,123,456"中每个数字字符串出现的次数并打印出来。
  5. > 如: > 123 出现了 2 次
  6. > 456 出现了 2 次
  7. > 789 出现了 1 次
  8. - 思路:
  9. - (1) split方法返回String数组
  10. - (2) 使用HashMap集合记录 K-字符串 V-出现的次数
  11. - (3) foreach
  12. - (4)put方法
  13. - **彩蛋:**merge()
  14. - **public **[**V**](HashMap.html)** merge(**[**K**](HashMap.html)** key, **[**V**](HashMap.html)** value, **[**BiFunction**](function/BiFunction.html)**<? super **[**V**](HashMap.html)**,? super **[**V**](HashMap.html)**,? extends **[**V**](HashMap.html)**> remappingFunction)**
  15. 代码中18 19行可以改成` rst.merge(str, 1, Interger.sum )`
  16. ```java
  17. package com.lagou.com.lagou.part3homework;
  18. import java.util.HashMap;
  19. import java.util.Map;
  20. /**
  21. * @author 西风月
  22. * @date 2020/8/2
  23. * @description
  24. */
  25. public class HashMapCountString {
  26. public static void main(String[] args) {
  27. String str1 = "123,456,789,123,456";
  28. Map<String, Integer> rst = new HashMap<>();
  29. for(String str : str1.split(",")) {
  30. Integer integer = rst.get(str);
  31. rst.put(str, (integer == null ? 0 : integer) + 1);
  32. }
  33. System.out.println(rst);
  34. }
  35. }
  • 输出结果: ```bash “C:\Program Files\Java\jdk-11.0.2\bin\java.exe” “-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2019.3.3\lib\idea_rt.jar=2157:C:\Program Files\JetBrains\IntelliJ IDEA 2019.3.3\bin” -Dfile.encoding=UTF-8 -classpath F:\IdeaProjects\javase\out\production\javase com.lagou.com.lagou.part3homework.HashMapCountString {123=2, 456=2, 789=1}

Process finished with exit code 0


<a name="B9xNM"></a>
# 作业4
编程题 
> 
>  使用 List 集合实现简易的学生信息管理系统,要求打印字符界面提示用户选择相应的功 能,根据用户输入的选择去实现增加、删除、修改、查找以及遍历所有学生信息的功能。 
>  其中学生的信息有:学号、姓名、年龄。 要求: 尽量将功能拆分为多个.java 文件。


![image.png](https://cdn.nlark.com/yuque/0/2020/png/1567843/1596437905173-f868a06b-8a15-4965-b57d-89cc43039172.png#align=left&display=inline&height=282&margin=%5Bobject%20Object%5D&name=image.png&originHeight=563&originWidth=1760&size=72638&status=done&style=none&width=880)
```java
package com.lagou.com.lagou.part3homework.SInfoManage;

import java.util.Objects;

/**
 * @author 西风月
 * @date 2020/8/2
 * @description
 */
public class StudentNode {
    int stuNo;
    String stuName;
    int stuAge;

    @Override
    public String toString() {
        return "StudentNode{" +
                "stuNo=" + stuNo +
                ", stuName='" + stuName + '\'' +
                ", stuAge=" + stuAge +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        StudentNode that = (StudentNode) o;
        return stuNo == that.stuNo;
    }

    @Override
    public int hashCode() {
        return Objects.hash(stuNo);
    }

    public StudentNode(int stuNo, String stuName, int stuAge) {
        this.stuNo = stuNo;
        this.stuName = stuName;
        this.stuAge = stuAge;
    }

    public StudentNode() {
    }

    public int getStuNo() {
        return stuNo;
    }

    public void setStuNo(int stuNo) {
        this.stuNo = stuNo;
    }

    public String getStuName() {
        return stuName;
    }

    public void setStuName(String stuName) {
        this.stuName = stuName;
    }

    public int getStuAge() {
        return stuAge;
    }

    public void setStuAge(int stuAge) {
        this.stuAge = stuAge;
    }


}
package com.lagou.com.lagou.part3homework.SInfoManage;

import java.awt.*;
import java.util.Scanner;

/**
 * @author 西风月
 * @date 2020/8/2
 * @description
 */
public class InputMenu {
    public static void main(String[] args) {
        StudentsData dat = StudentsData.getInstance();
        Scanner sc = new Scanner(System.in);
        String ch;
        int index;

        while(!(ch = menu()).equalsIgnoreCase("EXIT")) {
            switch (ch) {
                case "1":
                    System.out.print("请依次输入学号, 姓名, 年龄:");
                    dat.addElement(new StudentNode(sc.nextInt(), sc.next(), sc.nextInt()));
                    break;

                case "2":
                    System.out.println("请输入需修改信息学生的学号:");
                    index = dat.findElementIndex(sc.nextInt());
                    if(index == -1){
                        System.out.println("无此学号信息!");
                    }
                    else {
                        System.out.println("请依次输入新的学号, 姓名, 年龄");
                        dat.setElement(index, new StudentNode(sc.nextInt(), sc.next(), sc.nextInt()));
                    }
                    break;
                case "3":
                    System.out.println("请输入需要删除的学生的学号:");
                    dat.removeElement(sc.nextInt());
                    break;
                case "4":
                    System.out.println("请输入需查找的学号信息:");
                    StudentNode node = dat.findElement(sc.nextInt());
                    if(node == null) {
                        System.out.println("无此学号信息!");
                    } else {
                        System.out.println(node);
                    }
                    break;
                case "5":
                    dat.traverse();
                    break;
                default:
                    System.out.println("输入错误,请重新选择选项!");
            }
        }
    }

    private static String menu() {
        System.out.println("***********************************************");
        System.out.println("****************学生信息管理系统****************");
        System.out.println("      操作选项     说明");
        System.out.println("--------------     -----------");
        System.out.println("         1         新增学生信息");
        System.out.println("         2         修改学生信息");
        System.out.println("         3         删除学生信息");
        System.out.println("         4         查找学生信息");
        System.out.println("         5         遍历学生信息");
        System.out.println("         EXIT      退出");
        System.out.println("***********************************************");
        Scanner sc = new Scanner(System.in);
        return sc.next().trim();
    }
}
package com.lagou.com.lagou.part3homework.SInfoManage;

import java.util.ArrayList;

/**
 * @author 西风月
 * @date 2020/8/2
 * @description
 *         实现 存储学生节点
 *             提供现增加、删除、修改、查找以及遍历所有学生信息的功能
 */
public class StudentsData {
    private ArrayList<StudentNode> head;
    private static StudentsData instance = new StudentsData();

    private StudentsData() {
        head = new ArrayList<StudentNode>();
    }

    public static StudentsData getInstance() {
        return instance;
    }
    //增加元素
    public boolean addElement(StudentNode node) {
        StudentNode find = findElement(node.stuNo);
        if(find != null) {
            System.out.println("已存在相同学号记录!");
            System.out.println(find);
            return false;
        }
        return head.add(node);
    }

    //查找元素
    public StudentNode findElement(int studentNo) {
        for(StudentNode node : head) {
            if(studentNo == node.stuNo) return node;
        }
        return null;
    }

    //返回元素index位置
    public int findElementIndex(int studentNo) {
        return head.indexOf(new StudentNode(studentNo,"",99));
    }

    //修改元素
    public StudentNode setElement(int index, StudentNode node) {
        return head.set(index, node);
    }

    //遍历集合
    public void traverse() {
        for(StudentNode node : head) {
            System.out.println(node);
        }
    }

    //删除元素 根据传入的学号删除元素
    public boolean removeElement(int studentNo) {
        StudentNode node = findElement(studentNo);
        if(null == node) {
            System.out.println("无此学号, 删除失败!");
            return false;
        }
        return head.remove(node);
    }



}
  • 输出结果:
"C:\Program Files\Java\jdk-11.0.2\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2019.3.3\lib\idea_rt.jar=3523:C:\Program Files\JetBrains\IntelliJ IDEA 2019.3.3\bin" -Dfile.encoding=UTF-8 -classpath F:\IdeaProjects\javase\out\production\javase com.lagou.com.lagou.part3homework.SInfoManage.InputMenu
***********************************************
****************学生信息管理系统****************
      操作选项     说明
--------------     -----------
         1         新增学生信息
         2         修改学生信息
         3         删除学生信息
         4         查找学生信息
         5         遍历学生信息
         EXIT      退出
***********************************************
1
请依次输入学号, 姓名, 年龄:1001 AAA 23
***********************************************
****************学生信息管理系统****************
      操作选项     说明
--------------     -----------
         1         新增学生信息
         2         修改学生信息
         3         删除学生信息
         4         查找学生信息
         5         遍历学生信息
         EXIT      退出
***********************************************
1
请依次输入学号, 姓名, 年龄:1002 BBB 25
***********************************************
****************学生信息管理系统****************
      操作选项     说明
--------------     -----------
         1         新增学生信息
         2         修改学生信息
         3         删除学生信息
         4         查找学生信息
         5         遍历学生信息
         EXIT      退出
***********************************************
1
请依次输入学号, 姓名, 年龄:1003 CCC 28
***********************************************
****************学生信息管理系统****************
      操作选项     说明
--------------     -----------
         1         新增学生信息
         2         修改学生信息
         3         删除学生信息
         4         查找学生信息
         5         遍历学生信息
         EXIT      退出
***********************************************
5
StudentNode{stuNo=1001, stuName='AAA', stuAge=23}
StudentNode{stuNo=1002, stuName='BBB', stuAge=25}
StudentNode{stuNo=1003, stuName='CCC', stuAge=28}
***********************************************
****************学生信息管理系统****************
      操作选项     说明
--------------     -----------
         1         新增学生信息
         2         修改学生信息
         3         删除学生信息
         4         查找学生信息
         5         遍历学生信息
         EXIT      退出
***********************************************
1
请依次输入学号, 姓名, 年龄:1001 AAA 1
已存在相同学号记录!
StudentNode{stuNo=1001, stuName='AAA', stuAge=23}
***********************************************
****************学生信息管理系统****************
      操作选项     说明
--------------     -----------
         1         新增学生信息
         2         修改学生信息
         3         删除学生信息
         4         查找学生信息
         5         遍历学生信息
         EXIT      退出
***********************************************
5
StudentNode{stuNo=1001, stuName='AAA', stuAge=23}
StudentNode{stuNo=1002, stuName='BBB', stuAge=25}
StudentNode{stuNo=1003, stuName='CCC', stuAge=28}
***********************************************
****************学生信息管理系统****************
      操作选项     说明
--------------     -----------
         1         新增学生信息
         2         修改学生信息
         3         删除学生信息
         4         查找学生信息
         5         遍历学生信息
         EXIT      退出
***********************************************
4
请输入需查找的学号信息:
1002
StudentNode{stuNo=1002, stuName='BBB', stuAge=25}
***********************************************
****************学生信息管理系统****************
      操作选项     说明
--------------     -----------
         1         新增学生信息
         2         修改学生信息
         3         删除学生信息
         4         查找学生信息
         5         遍历学生信息
         EXIT      退出
***********************************************
2
请输入需修改信息学生的学号:
1003
请依次输入新的学号, 姓名, 年龄
1003 FFF 27
***********************************************
****************学生信息管理系统****************
      操作选项     说明
--------------     -----------
         1         新增学生信息
         2         修改学生信息
         3         删除学生信息
         4         查找学生信息
         5         遍历学生信息
         EXIT      退出
***********************************************
5
StudentNode{stuNo=1001, stuName='AAA', stuAge=23}
StudentNode{stuNo=1002, stuName='BBB', stuAge=25}
StudentNode{stuNo=1003, stuName='FFF', stuAge=27}
***********************************************
****************学生信息管理系统****************
      操作选项     说明
--------------     -----------
         1         新增学生信息
         2         修改学生信息
         3         删除学生信息
         4         查找学生信息
         5         遍历学生信息
         EXIT      退出
***********************************************
3
请输入需要删除的学生的学号:
1002
***********************************************
****************学生信息管理系统****************
      操作选项     说明
--------------     -----------
         1         新增学生信息
         2         修改学生信息
         3         删除学生信息
         4         查找学生信息
         5         遍历学生信息
         EXIT      退出
***********************************************
5
StudentNode{stuNo=1001, stuName='AAA', stuAge=23}
StudentNode{stuNo=1003, stuName='FFF', stuAge=27}
***********************************************
****************学生信息管理系统****************
      操作选项     说明
--------------     -----------
         1         新增学生信息
         2         修改学生信息
         3         删除学生信息
         4         查找学生信息
         5         遍历学生信息
         EXIT      退出
***********************************************
EXIT

Process finished with exit code 0

作业5

编程题 使用集合实现斗地主游戏的部分功能,要求如下: (1)首先准备 54 张扑克牌并打乱顺序。 (2)由三个玩家交替摸牌,每人 17 张扑克牌,最后三张留作底牌。 (3)查看三个玩家手中的扑克牌和底牌。 (4)其中玩家手中的扑克牌需要按照大小顺序打印,规则如下: 手中扑克牌从大到小的摆放顺序:大王,小王,2,A,K,Q,J,10,9,8,7,6,5,4,3


  • ① 首先要定义两个Enum类分别表示花色 (CardColorEnum) 牌面 (CardNumberEnum) 牌面需保证枚举值按牌面大小排列
  • ② 定义单张牌类 OneCard, 其中包含三个元素:花色、牌面、权重 按[大王,小王,2,A,K,Q,J,10,9,8,7,6,5,4,3]
  • ③ 定义斗地主类 ``PlayCard, 其中包含OneCard类型的LinkedList集合对象card
  • 说明: 在playCard类中对card集合进行初始化, 并根据OneCard.value权重调用Collections.sort 进行排序
    • 打乱牌型: _Collections._shuffle(card);
    • 声明比较器:

Comparator comparator = (OneCard o2, OneCard o1) -> {return o1.getValue() - o2.getValue();};

  • 排序: Collections.sort(lC, comparator);
 package com.lagou.com.lagou.part3homework.Card;

/**
 * @author 西风月
 * @date 2020/8/3
 * @description
 */
public enum CardColorEnum {
    COLOR1("♥"),
    COLOR2("♠"),
    COLOR3("♣"),
    COLOR4("♦");
    private final String cardColorEnum;

    CardColorEnum(String cardColorEnum) {
        this.cardColorEnum = cardColorEnum;
    }

    @Override
    public String toString() {
        return cardColorEnum;
    }
}
package com.lagou.com.lagou.part3homework.Card;

/**
 * @author 西风月
 * @date 2020/8/3
 * @description
 */
public enum CardNumberEnum {
    CARD_DW("大王"),
    CARD_XW("小王"),
    CARD_2("2"),
    CARD_A("A"),
    CARD_K("K"),
    CARD_Q("Q"),
    CARD_J("J"),
    CARD_10("10"),
    CARD_9("9"),
    CARD_8("8"),
    CARD_7("7"),
    CARD_6("6"),
    CARD_5("5"),
    CARD_4("4"),
    CARD_3("3");
    private final String cardNumber;

    CardNumberEnum(String cardNumber) {
        this.cardNumber = cardNumber;
    }

    @Override
    public String toString() {
        return cardNumber;
    }
}
package com.lagou.com.lagou.part3homework.Card;

/**
 * @author 西风月
 * @date 2020/8/3
 * @description
 */
public class OneCard {
    private CardColorEnum color; //牌花色
    private CardNumberEnum number; //牌面值
    private Integer value;  //权重

    public OneCard(CardColorEnum color, CardNumberEnum number, Integer value) {
        this.color = color;
        this.number = number;
        this.value = value;
    }

    @Override
    public String toString() {
        return (color==null ? "" : color + "-") + number;
    }

    public Integer getValue() {
        return value;
    }

    public void setValue(Integer value) {
        this.value = value;
    }
}
package com.lagou.com.lagou.part3homework.Card;

import java.util.*;

/**
 * @author 西风月
 * @date 2020/8/3
 * @description
 */
public class PlayCard {
    public static void main(String[] args) {
        //1. 声明列表
        List<OneCard> card = new LinkedList<>();
        //2. 因大王、小王没有花色且值最大,先单独插入列表 ,保证权重递减
        card.add(new OneCard(null, CardNumberEnum.CARD_DW, 54));
        card.add(new OneCard(null, CardNumberEnum.CARD_XW,53));
        int i = 0;
        //3. 初始化Card列表, 根据牌型大小插牌 权重依次递减
        for(CardNumberEnum number : CardNumberEnum.values()) { //牌面值
            if(number == CardNumberEnum.CARD_XW || number == CardNumberEnum.CARD_DW) continue; //跳过大王、小王
            for(CardColorEnum color : CardColorEnum.values()) { //牌花色
                card.add(new OneCard(color, number,52 - i++));
            }
        }
        //声明四个ArrayList集合
        List<OneCard> lA = new LinkedList<>();  //玩家1
        List<OneCard> lB = new LinkedList<>();  //玩家2
        List<OneCard> lC = new LinkedList<>();  //玩家3
        List<OneCard> lDP = new LinkedList<>(); //底牌

        int tmp = 0;
        Collections.shuffle(card);

        for(OneCard oc : card) {
            if(tmp >= 51) {
                lDP.add(oc);
                continue;
            };
            if(tmp%3 == 0) {
                lA.add(oc);
            } else if(tmp%3 == 1){
                lB.add(oc);
            } else {
                lC.add(oc);
            }
            tmp++;
        }
        //构造比较器对指定列表进行排序
        Comparator<OneCard> comparator = (OneCard o2, OneCard o1) -> {return o1.getValue() - o2.getValue();};
        Collections.sort(lDP, comparator);
        Collections.sort(lA, comparator);
        Collections.sort(lB, comparator);
        Collections.sort(lC, comparator);

        System.out.println("底牌:" + Arrays.toString(lDP.toArray()));
        System.out.println("玩家-1的牌型如下:" + Arrays.toString(lA.toArray()));
        System.out.println("玩家-2的牌型如下:" + Arrays.toString(lB.toArray()));
        System.out.println("玩家-3的牌型如下:" + Arrays.toString(lC.toArray()));
    }
}
  • 输出:
"C:\Program Files\Java\jdk-11.0.2\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2019.3.3\lib\idea_rt.jar=3614:C:\Program Files\JetBrains\IntelliJ IDEA 2019.3.3\bin" -Dfile.encoding=UTF-8 -classpath F:\IdeaProjects\javase\out\production\javase com.lagou.com.lagou.part3homework.Card.PlayCard
底牌:[♣-7, ♦-7, ♦-6]
玩家-1的牌型如下:[大王, ♥-A, ♠-K, ♠-Q, ♦-Q, ♠-J, ♣-J, ♥-10, ♦-10, ♦-9, ♣-8, ♥-7, ♥-5, ♠-5, ♣-5, ♣-4, ♥-3]
玩家-2的牌型如下:[小王, ♥-2, ♠-2, ♣-2, ♦-2, ♠-A, ♣-A, ♦-A, ♥-K, ♥-Q, ♠-10, ♠-7, ♥-6, ♠-6, ♣-6, ♥-4, ♠-3]
玩家-3的牌型如下:[♣-K, ♦-K, ♣-Q, ♥-J, ♦-J, ♣-10, ♥-9, ♠-9, ♣-9, ♥-8, ♠-8, ♦-8, ♦-5, ♠-4, ♦-4, ♣-3, ♦-3]

Process finished with exit code 0
"C:\Program Files\Java\jdk-11.0.2\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2019.3.3\lib\idea_rt.jar=3664:C:\Program Files\JetBrains\IntelliJ IDEA 2019.3.3\bin" -Dfile.encoding=UTF-8 -classpath F:\IdeaProjects\javase\out\production\javase com.lagou.com.lagou.part3homework.Card.PlayCard
底牌:[小王, ♦-2, ♣-J]
玩家-1的牌型如下:[大王, ♥-2, ♣-2, ♥-A, ♠-A, ♣-A, ♠-K, ♠-10, ♣-10, ♥-9, ♦-9, ♥-8, ♠-8, ♥-7, ♠-4, ♣-4, ♦-4]
玩家-2的牌型如下:[♣-K, ♦-K, ♠-Q, ♣-Q, ♥-J, ♠-J, ♦-10, ♠-9, ♣-8, ♦-8, ♣-7, ♥-6, ♠-6, ♦-6, ♦-5, ♥-4, ♦-3]
玩家-3的牌型如下:[♠-2, ♦-A, ♥-K, ♥-Q, ♦-Q, ♦-J, ♥-10, ♣-9, ♠-7, ♦-7, ♣-6, ♥-5, ♠-5, ♣-5, ♥-3, ♠-3, ♣-3]

Process finished with exit code 0
"C:\Program Files\Java\jdk-11.0.2\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2019.3.3\lib\idea_rt.jar=3649:C:\Program Files\JetBrains\IntelliJ IDEA 2019.3.3\bin" -Dfile.encoding=UTF-8 -classpath F:\IdeaProjects\javase\out\production\javase com.lagou.com.lagou.part3homework.Card.PlayCard
底牌:[♠-A, ♥-8, ♦-4]
玩家-1的牌型如下:[大王, 小王, ♥-2, ♠-2, ♣-A, ♠-J, ♣-J, ♠-10, ♣-10, ♣-9, ♥-7, ♠-7, ♣-7, ♣-6, ♥-5, ♣-5, ♣-4]
玩家-2的牌型如下:[♣-2, ♦-2, ♥-A, ♥-K, ♠-K, ♦-K, ♥-J, ♦-J, ♥-9, ♦-9, ♣-8, ♦-7, ♠-6, ♦-5, ♥-4, ♥-3, ♣-3]
玩家-3的牌型如下:[♦-A, ♣-K, ♥-Q, ♠-Q, ♣-Q, ♦-Q, ♥-10, ♦-10, ♠-9, ♠-8, ♦-8, ♥-6, ♦-6, ♠-5, ♠-4, ♠-3, ♦-3]

Process finished with exit code 0