文章42
标签13
分类3

JavaSE练习20

day20

一、关卡1

训练案例1

1.1.训练知识点
1.Map特点
1.2.训练描述
请简述Map 的特点
1.3.操作步骤描述
Map的特点:
1.Map每个元素由键与值两部分组成
2.Map键不能重复,每个键对应一个值
3.键和值可以为null

训练案例2

2.1.训练知识点
1.Map接口中的常用方法
2.2.训练描述
练习Map集合的常用方法: put, get, remove
2.3.操作步骤描述
1.创建HashMap
2.使用put添加元素
3.使用put修改元素
4.使用get获取元素
5.使用remove删除元素
6.打印集合中的元素

package com.greedring;

import java.util.HashMap;
import java.util.Map;

public class Practice {
    public static void main(String[] args) {
        Map map=new HashMap();
        map.put(1,"张三");
        map.put(2,"李四");
        map.put(2,"王五");
        System.out.println(map);
        System.out.println(map.get(1));
        System.out.println("删除值====>"+map.remove(2));
        System.out.println("删除之后的集合=====>"+map);
    }
}

训练案例3

3.1.训练知识点
1.Map接口中的方法
3.2.训练描述
往一个Map集合中添加若干元素.获取Map中的所有key, 并使用增强for和迭代器遍历输出每个key
3.3.操作步骤描述
1.创建HashMap
2.使用put添加元素
3.使用Map的keySet方法获取到所有的key
4.使用增强for获取每个key
5.获取keySet的迭代器
6.循环判断迭代器中是否有下一个元素
7.使用迭代器获取每个key

package com.greedring;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;

public class Practice {
    public static void main(String[] args) {
        HashMap hashMap = new HashMap();
        hashMap.put("1", "张三");
        hashMap.put("2", "李四");
        hashMap.put("3", "王五");
        Set s = hashMap.keySet();
        for (Object string : s) {
            System.out.println(string);
        }
        System.out.println("=========================");
        Iterator<String> it = s.iterator();
        while (it.hasNext()) {
            System.out.println(it.next());
        }
    }
}

训练案例4

4.1.训练知识点
1.Map接口中的方法
4.2.训练描述
往一个Map集合中添加若干元素.获取Map中的所有value, 并使用增强for和迭代器遍历输出每个value
4.3.操作步骤描述
1.创建HashMap
2.使用put添加元素
3.使用Map的values方法获取到所有的value
4.使用增强for获取每个value
5.使用迭代器获取每个value

package com.greedring;

import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;

public class Practice {
    public static void main(String[] args) {
        HashMap hashMap = new HashMap();
        hashMap.put(1, "ABC");
        hashMap.put(2, "DEF");
        hashMap.put(3, "LMN");
        Collection collection = hashMap.values();
        for (Object string : collection) {
            System.out.println(string);
        }
        System.out.println("=======================");
        Iterator<String> it = collection.iterator();
        while (it.hasNext()) {
            System.out.println(it.next());
        }
    }
}

训练案例5

5.1.训练知识点
1.Map遍历
5.2.训练描述
Map集合中包含5对元素: “邓超”->”孙俪”, “李晨”->”范冰冰”, “刘德华”->”柳岩”, “黄晓明”->” Baby”, “谢霆锋”->”张柏芝”.使用keySet方式迭代出Map集合中的元素
5.3.操作步骤描述
1.创建HashMap
2.使用put方法添加元素
3.使用keySet方法获取所有的键
4.获取到keySet的迭代器
5.循环判断迭代器是否有下一个元素
6.使用迭代器next方法获取到一个键
7.通过一个键找到一个值
8.输出键和值

package com.greedring;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;

public class Practice {
    public static void main(String[] args) {
        HashMap hashMap = new HashMap();
        hashMap.put("邓超", "孙俪");
        hashMap.put("李晨", "范冰冰");
        hashMap.put("刘德华", "柳岩");
        hashMap.put("黄晓明", "Baby");
        hashMap.put("谢霆锋", "张柏芝");
        Set set = hashMap.keySet();
        Iterator iterator = set.iterator();
        while (iterator.hasNext()) {
            String key = (String) iterator.next();
            System.out.println(key + hashMap.get(key));
        }
    }
}

训练案例6

6.1.训练知识点
1.Map遍历
6.2.训练描述
Map集合中包含5对元素: “邓超”->”孙俪”, “李晨”->”范冰冰”, “刘德华”->”柳岩”, “黄晓明”->” Baby”, “谢霆锋”->”张柏芝”.使用Entry方式迭代出Map集合中的元素
6.3.操作步骤描述
1.创建HashMap
2.使用put方法添加元素
3.使用entrySet方法获取到所有的键值对关系
4.获取entrySet的迭代器
5.使用迭代器查看是否有下一个元素
6.使用迭代器拿到下一个元素(Entry类型)
7.通过一个Entry<K,V>获取到key和value

package com.greedring;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;

public class Practice {
    public static void main(String[] args) {
        HashMap hashMap = new HashMap();
        hashMap.put("邓超", "孙俪");
        hashMap.put("李晨", "范冰冰");
        hashMap.put("刘德华", "柳岩");
        hashMap.put("黄晓明", "Baby");
        hashMap.put("谢霆锋", "张柏芝");
        Set set = hashMap.entrySet();
        Iterator iterator = set.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }
    }
}

训练案例7

7.1.训练知识点
1.HashMap存储键是String值是自定义对象
7.2.训练描述
每位学生(姓名,年龄)都有自己的家庭住址。那么,既然有对应关系,则将学生对象和家庭住址存储到Map集合中。家庭住址作为键, 学生作为值。并使用keySet和entrySet方式遍历Map集合
7.3.操作步骤描述
1.定义学生类.包含姓名和年龄属性
2.创建HashMapkey保存学生家庭住址,value是学生对象
3.添加一批学生到HashMap中
4.使用keySet方式遍历Map
5.使用entrySet方式遍历Map

package com.greedring;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;

public class Practice {
    public static void main(String[] args) {
        HashMap hashMap = new HashMap();
        hashMap.put("江苏无锡", new Student("张三", 20));
        hashMap.put("安徽六安", new Student("李四", 18));
        hashMap.put("北京", new Student("王五", 23));
        System.out.println(hashMap);
        Set s = hashMap.keySet();
        for (Object string : s) {
            String key = (String) string;
            System.out.println("住址:" + key + "  學生信息:" + hashMap.get(key));
        }
        System.out.println("==========================");
        Iterator<String> it = s.iterator();
        while (it.hasNext()) {
            String key = it.next();
            System.out.println("住址:" + key + "  學生信息:" + hashMap.get(key));
        }
        System.out.println("=========================");
        Set ss = hashMap.entrySet();
        for (Object entry : ss) {
            String key = (String) entry.getkey();
            System.out.println("住址:" + key + "  學生信息:" + hashMap.get(key));
        }
        System.out.println("=============================");
        Iterator iterator = ss.iterator();
        while (iterator.hasNext()) {
            String key = iterator.next().getkey();
            System.out.println("住址:" + key + "  學生信息:" + hashMap.get(key));
        }
    }
}

class Student {
    private String name;
    private Integer age;

    Student(String name, Integer age) {
        super();
        this.name = name;
        this.age = age;
    }

    public Student() {
        super();
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Student [name=" + name + ", age=" + age + "]";
    }
}

训练案例8

8.1.训练知识点
1.HashMap存储键是自定义对象值是String
8.2.训练描述
每位学生(姓名,年龄)都有自己的家庭住址。那么,既然有对应关系,则将学生对象和家庭住址存储到map集合中。学生作为键, 家庭住址作为值, 并使用keySet和entrySet方式遍历Map集合.注意,学生姓名相同并且年龄相同视为同一名学生
8.3.操作步骤描述
1.定义学生类.包含姓名和年龄属性, 重写hashCode和equals方法
2.创建HashMapkey保存学生对象,value是学生家庭住址
3.添加一批学生到HashMap中
4.使用keySet方式遍历Map
5.使用entrySet方式遍历Map

训练案例9

9.1.训练知识点
1.可变参数
9.2.训练描述
定义一个方法add接收0个及以上的int类型数据,这个方法的作用是将传入的int类型的值进行相加,并返回相加后的结果
9.3.操作步骤描述
1.定义add方法.参数是可变参数(int… arr)
2.在add方法定义求和变量sum
3.使用增强for获取每个参数
4.将每个参数都加到求和变量sum中
5.返回sum
6.调用add方法传入任意个int类型的参数

训练案例10

10.1.训练知识点
1.Collections工具类
10.2.训练描述
ArrayList集合中有如下内容: {33,11,77,55},使用Collections.sort()对ArrayList集合中的数据进行排序,并打印出排序后的结果
10.3.操作步骤描述
1.创建ArrayList
2.使用add方法添加{33,11,77,55}四个元素
3.调用Collections的sort方法,对集合排序
4.使用增强for遍历ArrayList集合

训练案例11

11.1.训练知识点
1.Collections工具类
11.2.训练描述
ArrayList集合中有如下内容: {11,33,55,77},使用Collections.shuffle ()对ArrayList集合中的数据进行随机打乱顺序,并打印出排序后的结果
11.3.操作步骤描述
1.创建ArrayList
2.使用add方法添加{11,33,55,77}四个元素
3.调用Collections的shuffle方法,对集合中的元素打乱顺序
4.使用增强for遍历ArrayList集合

训练案例12

12.1.训练知识点
1.Collections工具类
12.2.训练描述
ArrayList集合中有如下内容: {11,33,55,77},使用Collections.reverse()对ArrayList集合中的数据进行反转,使用增强for遍历ArrayList集合
12.3.操作步骤描述
1.创建ArrayList
2.使用add方法添加{11,33,55,77}四个元素
3.调用Collections的reverse方法,对ArrayList集合中的数据进行反转
4.使用增强for遍历ArrayList集合

训练案例13

13.1.训练知识点
1.Collections工具类
13.2.训练描述
ArrayList集合中有如下内容: {11,33,55,77},使用Collections.binarySearch ()查询33元素在ArrayList集合中的索引是多少
13.3.操作步骤描述
1.创建ArrayList
2.使用add方法添加{11,33,55,77}四个元素
3.调用Collections的binarySearch方法,对ArrayList集合中的数据进行反转
4.输出查找到的索引

关卡2

训练案例1

1.1.训练知识点
1.Map集合
1.2.训练描述
使用键盘录入5个学生信息,录入格式为:”姓名,年龄”.将这5个学生信息存入Map集合中,key是姓名,value是年龄
1.3.操作步骤描述
1.创建HashMap
2.创建键盘录入对象
3.循环判断只要HashMap数量是否小于5
4.HashMap数量小于5个就让用户接着输入
5.使用,分割用户输入的字符串
6.将分割后的索引为0的字符串作为key,索引为1的字符串作为value,放入HashMap中
7.输出HashMap中的数据

训练案例2

2.1.训练知识点
1.可变参数
2.2.训练描述
定义一个方法add接收0个及以上的String类型数据,这个方法的作用是将传入的String类型的参数放入一个ArrayList中,并返回这个ArrayList集合
2.3.操作步骤描述
1.定义add方法,参数是(String … str),返回值是ArrayList
2.在add方法中创建ArrayList用于存放传入的字符串
3.使用增强for循环获取每个参数
4.将每个参数都添加到ArrayList中
5.返回array
6.调用add方法传入任意个字符串
7.使用增强for遍历返回的ArrayList,打印每个元素

训练案例3

3.1.训练知识点
1.集合转数组
3.2.训练描述
ArrayList集合中有如下内容: {11,33,55,77}.使用2种方式将集合中的数据转成数组
3.3.操作步骤描述
1.定义ArrayList
2.使用add方法添加元素{11,33,55,77}
3.使用方式1转数组.toArray()
4.使用方式2转数组.准备空数组
5.打印数组

训练案例4

4.1.训练知识点
1.Map集合
4.2.训练描述
研发部门有5个人,信息如下:(姓名-工资)【柳岩=2100, 张亮=1700, 诸葛亮=1800, 灭绝师太=2600, 东方不败=3800】,将以上员工的相关信息存放在适合的集合中,给柳岩涨工资300,迭代出每个元素的内容输出到控制台
4.3.操作步骤描述
1.定义HashMap,姓名作为key,工资作为value
2.使用put方法添加需要的元素
3.获取到柳岩的工资
4.修改柳岩的工资为当前工资加上300
5.使用增强for+keySet迭代出每个员工的工资

训练案例5

5.1.训练知识点
1.Map集合
5.2.训练描述
现在有一个map集合如下:{1=”张三丰”,2=”周芷若”,3=”汪峰”,4=”灭绝师太”}
要求:
1.将map集合中的所有信息显示到控制台上
2.向该map集合中插入一个编码为5姓名为李晓红的信息
3.移除该map中的编号为1的信息
4.将map集合中编号为2的姓名信息修改为”周林”
5.3.操作步骤描述
1.定义HashMap,编号作为key,姓名作为value
2.使用put方法添加元素
3.使用keySet+增强for迭代map中的元素,并打印
4.使用put向该map集合中插入一个编码为5姓名为李晓红的信息
5.使用remove移除该map中的编号为1的信息
6.使用put将map集合中编号为2的姓名信息修改为”周林”

训练案例6

6.1.训练知识点
1.Map集合
6.2.训练描述
利用键盘录入,输入一个字符串,统计该字符串中各个字符的数量
如用户输入字符串:”hello world java”,程序输出结果:h(1)e(1)l(3)o(2) (2)w(1)r(1)d(1)j(1)a(2)v(1)
注:输出结果不要求顺序一致
6.3.操作步骤描述
1.创建键盘输入对象
2.使用nextLine从键盘中读取一行内容
3.将字符串转换成字符数组
4.创建map集合,用来存放字符:key是字符 value是字符出现的个数
5.遍历字符数组
6.拿到每个字符,去map中查看是否有保存对应的次数
7.如果这个字符没有保存次数,就设置为1次
8.如果这个字符有保存次数,就设置为原来的次数+1次
9.创建字符串缓冲区对象
10.按题目要求拼接字符串
11.输出结果

训练案例7

7.1.训练知识点
1.Map集合
7.2.训练描述
键盘录入一个字符串,分别统计出其中英文字母、空格、数字和其它字符的数量,输出结果:”其他=1, 空格=2, 字母=12, 数字=6”
7.3.操作步骤描述
1.定义countingKey(HashMap<String, Integer> map, String key)方法.用于统计key出现的次数.调用一次,让key所对应的次数+1.
2.在countingKey方法中.使用get方法从map中取出key的值
3.如果为空,说明key第一次出现
4.放入key,把次数设置为1
5.如果之前,已经有key了,就把key的次数+1
6.创建键盘录入对象
7.使用nextLine获取用户录入的字符串
8.定义一个Map用于统计,字母,空格,数字和其他字符的数量,key是字符value是字符出现的次数
9.将输入的字符串转成字符
10.遍历字符串数组中的每一个字符
11.如果ch是一个字符,调用countingKey方法传入(map, “字母”)作为参数
12.如果字符是一个空格,调用countingKey方法传入(map, “空格”)作为参数
13.如果字符是一个数字,调用countingKey方法传入(map, “数字”)作为参数
14.如果字符是一个其他,调用countingKey方法传入(map, “其他”)作为参数
15.打印统计结果

训练案例8

8.1.训练知识点
1.Map集合
8.2.训练描述
定义一个List集合,泛型为String类型。统计整个集合中所有字符(注意,不是字符串)的个数。例如:集合中有”abc”、”bcd”两个元素,程序最终输出结果为:“a = 1,b = 2,c = 2,d = 1”
8.3.操作步骤描述
1.定义ArrayList存放元素
2.使用add方法添加需要的元素
3.定义HashMap,key是字符,value是字符对应的次数
4.使用增强for获取ArrayList中的每个字符串
5.将每个字符串转成字符数组
6.使用增强for遍历字符数组
7.获取拿到每个字符,使用字符去HashMap中查找次数
8.如果为空,说明该字符第一次出现
9.放入字符作为key,把次数设置为1
10.如果之前,已经有字符了,就把字符的次数+1
11.输出map中的内容

训练案例9

9.1.训练知识点
1.Map集合
9.2.训练描述
键盘录入语句英语,统计每个单词出现的次数,有如下字符串”If you want to change your fate I think you must come to the dark horse to learn java”(用空格间隔)
打印格式:
to=3
think=1
you=2

9.3.操作步骤描述
1.创建键盘输入对象
2.使用nextLine从键盘中读取一行内容
3.定义HashMap,key是单词,value是字符对应的次数
4.使用空格分割字符串
5.遍历分割好的每个字符串
6.获取拿到每个字符串,使用字符去HashMap中查找次数
7.如果为空,说明该字符串第一次出现
8.放入字符串作为key,把次数设置为1
9.如果之前,已经有字符串了,就把字符的次数+1

训练案例10

10.1.训练知识点
1.Map集合
10.2.训练描述
通过键盘录入五个人的姓名,每当录入一个人的姓名,随机给出一个成绩0, 100.将姓名和成绩存储到Map集合中,姓名作为key,成绩作为value.统计五个学生的总分,最高分,最低分,平均分,并将总分,最高分,最低分,平均分,写入到score.txt文件中,格式为: 总分=xxx,最高分=xxx,最低分=xxx,平均分=xxx
10.3.操作步骤描述
1.创建键盘输入对象
2.创建随机数对象
3.创建HashMap集合key存放姓名,value存放成绩
4.循环判断HashMap中数量是否小于5
5.如果HashMap中数量小于5,让用户再输入一个姓名
6.使用随机数生成一个成绩
7.将姓名和分数添加到HashMap中
8.使用迭代器获取一个键
9.通过键找到对应的分数,作为默认分数
10.定义总分分变量
11.定义最高分变量=默认分数
12.定义最低分变量=默认分数
13.使用keySet获取到所有的key
14.使用增强for遍历所有的key
15.根据key找到对应的value
16.将这个分数添加到总分
17.如果最高分小于这个分数,让最高分=这个分数
18.如果最低分大于这个分数,让最低分=这个分数
19.计算平均分
20.定义StringBuilder,用于拼接,总分,最高分,最低分,平均分字符串
21.创建FileWriter字符输出流
22.使用字符输出流将拼接好的字符串写到文件中
23.关闭流

训练案例11

11.1.训练知识点
1.Map集合
11.2.训练描述
有一个Map集合里面存储了学生的名字,年龄,内容如下:{赵四=21, 王二=17, 张三=21},1将里面的元素使用两种遍历方式打印的控制台,2将赵四的年龄改为18,3将元素存入到student.txt中.一行保存格式:姓名,年龄
11.3.操作步骤描述
1.创建HashMap集合key存放姓名,value存放年龄
2.使用put添加对应的数据
3.使用keySet遍历Map
4.使用entrySet遍历Map
5.使用put修改赵四的年龄为18岁
6.创建BufferedWriter字符输出流
7.使用keySet遍历Map
8.根据key拿到对应的value
9.使用字符输出流将拼接好的字符串写到文件中
10.关闭流

训练案例12

12.1.训练知识点
1.Map集合
12.2.训练描述
使用键盘循环录入:书名,价格.创建一个Map集合,key存储书名,value存储书的价格. 录入以下5本书数据:{Java=32.5,C++=25,PHP=28.6,UI=21.3,Python=10.2} 要求;
1.删除集合中的C++这本书
2.Java的这本书涨价为38.5元
3.使用keySet和entrySet两种不同方式对集合遍历输出
12.3.操作步骤描述
1.创建HashMap集合key存放姓名,value存放年龄
2.创建键盘录入对象Scanner
3.循环判断HashSet的数量是否小于5
4.如果HashSet的数量小于5,让用户输入一本书的信息
5.使用,分割书名和价格
6.将书名和价格添加到HashMap中
7.使用remove方法删除集合中的C++这本书
8.使用put方法将Java的这本书涨价为38.5元
9.使用keySet遍历Map
10.使用entrySet遍历Map

训练案例13

13.1.训练知识点
1.Map集合
13.2.训练描述
Map中有{张三=23,李四=24,王五=15,赵六=36,孙七=17,田七=57,周八=35}这些元素key为姓名value为年龄.将周八的年龄修改为22,并将年龄小于30岁人的信息写入到perosn.txt中,person.txt每行数据格式为:姓名=年龄
13.3.操作步骤描述
1.创建HashMap集合key存放姓名,value存放年龄
2.使用put方法添加对应的元素
3.使用put将周八的年龄修改为22
4.创建BufferedWriter字符输出流
5.使用keySet遍历HashMap集合
6.根据key获取到对应的value
7.将key和value按格式拼接好写入到person.txt文件中
8.关闭流

训练案例14

14.1.训练知识点
1.字符串分割
2.Map集合
14.2.训练描述
现有一串字符串”常州极客营,无锡极客营,武汉极客营,镇江极客营,苏州极客营”,要求使用程序统计出”极客营”在该字符串中出现的次数。
14.3.操作步骤描述
1.定义传极客营字符串
2.创建HashMap保存极客营的次数
3.使用put添加key”极客营”
4.使用,分割字符串
5.使用增强for遍历获取每个分割出来的字符串
6.如果分割后的字符串串包含”极客营”,让HashSet中”极客营”的value+1
7.打印HashMap的内容

训练案例15

15.1.训练知识点
1.Map集合
15.2.训练描述
有2个数组,第一个数组内容为:[黑龙江省,浙江省,江西省,广东省,福建省],第二个数组为:[哈尔滨,杭州,南昌,广州,福州],将第一个数组元素作为key,第二个数组元素作为value存储到Map集合中.如{黑龙江省=哈尔滨, 浙江省=杭州, …}
15.3.操作步骤描述
1.定义第一个数组arr1
2.定义第二个数组arr2
3.创建HashMap,key存放省,value存放市
4.使用普通for循环遍历arr1
5.根据索引到arr1中获取到省
6.根据索引到arr2中获取到省会城市
7.将省和省会城市添加到HashMap中
8.输出HashMap中的内容

关卡3

训练案例1

1.1.训练知识点
1.Map集合
1.2.训练描述
Map中有{张三=3,李四=4,王五=5,赵六=6,孙七=7,田七=7,周八=5}这些元素.将Map中value相同的元素从Map中去除(value为7和5是相同的,都要删除).再将Map中剩余元素的key存放到一个ArrayLis中,并打印到控制台上

训练案例2

2.1.训练知识点
1.HashMap嵌套HashMap
2.2.训练描述
极客营包含2个班级:Java基础班,Java就业班
Java基础班:
001 李晨
002 范冰冰
Java就业班:
001 马云
002 马化腾
使用HashMap嵌套HashMap方式完成,1使用keySet和增强for遍历出里面的元素,2使用entrySet和迭代器遍历出里面的元素

训练案例3

3.1.训练知识点
1.Map集合
3.2.训练描述
已知Map中保存如下信息:{“及时雨”=”宋江”, “玉麒麟”=”卢俊义”, “智多星”=”吴用”},其中键表示水浒中人物的外号,value表示人物的姓名.1往Map中添加 “入云龙”=”公孙胜”, ”豹子头”=”林冲”两位好汉.2删除“玉麒麟”=”卢俊义”,3将key为“智多星”的value修改为null,4.将“及时雨”=”宋江”,修改为”呼保义”=” 宋江”

训练案例4

4.1.训练知识点
1.HashSet
2.Map
4.2.训练描述
有四种水果(苹果,香蕉,西瓜,橘子)
1、给每种水果设定一个商品号,商品号是8个0-9的随机数,商品号码不能重复, 最小值 “00000001”, 最大值 “99999999”
2、根据商品号查询对应的商品。
如果查不到输出:“查无此商品”
如果能查到打印:”根据商品号:12345678,查询到对应的商品为:西瓜”

训练案例5

5.1.训练知识点

  1. 斗地主洗牌发牌
  2. 2.训练描述
    完成课上斗地主洗牌发牌案例(牌需要排序)
package com.greedring;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Practice {
    public static void main(String[] args) {
        List poker = new ArrayList();
        for (int i = 1; i <= 13; i++) {
            poker.add("♠"+i);
            poker.add("♥"+i);
            poker.add("♦"+i);
            poker.add("♣"+i);
        }
        poker.add("Black_JOKER");
        poker.add("Red_JOKER");
        Collections.shuffle(poker);
        System.out.println("农名1的手牌为:"+poker.subList(0,17));
        System.out.println("农名2的手牌为:"+poker.subList(17,34));
        System.out.println("地主的手牌为:"+poker.subList(34,54));
    }
}
本文作者:GreedRing
本文链接:http://greedring.com/2019/09/12/JavaSEPractice20/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可