欢迎使用CSDN-markdown编辑器

来源:互联网 发布:mac yy语音进不了频道 编辑:程序博客网 时间:2024/04/28 02:19
package cn.itcast_17;import java.util.ArrayList;import java.util.Collections;/* * 需求:模拟斗地主发牌。 * 思路: *      A:买牌 *          黑桃A,黑桃2,黑桃3,...黑桃9,黑桃10,黑桃J,黑桃Q,黑桃K *          红桃... *          梅花... *          方块... *          大王,小王 *      B:洗牌 *          随机置换 *      C:发牌 *          发给三个人 *      D:看底牌 *          留三张 */public class CollectionsTest {    public static void main(String[] args) {        // 买牌        // 定义装花色的数组        String[] colors = { "♥", "♠", "♣", "♦" };        // 定义装点数的数组        String[] numbers = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10",                "J", "Q", "K" };        // 造一个装牌的盒子        ArrayList<String> al = new ArrayList<String>();        // 装入大小王        al.add("大王");        al.add("小王");        // 循环装入其他牌        for (String color : colors) {            for (String number : numbers) {                al.add(color.concat(number));            }        }        // 输出整副牌        // System.out.println(al);        // 洗牌,调用集合工具类中的随机置换方法:public static void shuffle(List list)        Collections.shuffle(al);        // System.out.println(al);        // 发牌,有三个人玩牌,造三个容器装牌        ArrayList<String> al1 = new ArrayList<String>();        ArrayList<String> al2 = new ArrayList<String>();        ArrayList<String> al3 = new ArrayList<String>();        // 普通for        for (int index = 0; index < al.size() - 3; index++) {            // %3是保证轮流拿牌。            if (index % 3 == 0) {                al1.add(al.get(index));            } else if (index % 3 == 1) {                al2.add(al.get(index));            } else if (index % 3 == 2) {                al3.add(al.get(index));            }        }        // 看牌        System.out.println(al1);        System.out.println(al2);        System.out.println(al3);        // 看底牌        for (int index = al.size() - 3; index < al.size(); index++) {            System.out.print(al.get(index) + " ");        }    }}
0 0