A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 北极瞭望塔 中级黑马   /  2015-11-25 22:43  /  731 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package com.heima.test;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.TreeSet;

public class Test3 {
                public static void main(String[] args) {
                                String[] num = {"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
                String[] color = {"红桃","黑桃","方片","梅花"};
                HashMap<Integer, String> hm = new HashMap<>();                               
                ArrayList<Integer> list = new ArrayList<>();                                       
                int index = 0;
               

                for(String s1 : num) {                                                                                                                for(String s2 : color) {                                                                       
                                hm.put(index, s2.concat(s1));
                                list.add(index);                                                                               
                                index++;
                        }
                }
               
                hm.put(index, "小王");
                list.add(index);                                                                                               
                index++;
                hm.put(index, "大王");
                list.add(index);                                                                                       
               
               
                Collections.shuffle(list);
               
                TreeSet<Integer> gaojin = new TreeSet<>();
                TreeSet<Integer> longwu = new TreeSet<>();
                TreeSet<Integer> me = new TreeSet<>();
                TreeSet<Integer> dipai = new TreeSet<>();
               
                for(int i = 0; i < list.size(); i++) {
                        if(i >= list.size() - 3) {
                                dipai.add(list.get(i));                                                       
                        }else if(i % 3 == 0) {
                                gaojin.add(list.get(i));
                        }else if(i % 3 == 1) {
                                longwu.add(list.get(i));
                        }else {
                                me.add(list.get(i));
                        }
                }
               
               
                lookPoker(hm, gaojin, "高进");
                lookPoker(hm, longwu, "龙五");
                lookPoker(hm, me, "赵云");
                lookPoker(hm, dipai, "底牌");
        }
                public static void lookPoker(HashMap<Integer, String> hm,TreeSet<Integer> ts ,String name) {
                System.out.print(name + "的牌是:");
                for(Integer i : ts) {                                                //i代表双列集合中的每一个键
                        System.out.print(hm.get(i) + " ");
                }
                System.out.println();
        }
}


大神们,你们看看这个程序!
public static void lookPoker(HashMap<Integer, String> hm,TreeSet<Integer> ts ,String name) {
                System.out.print(name + "的牌是:");
                for(Integer i : ts) {                                                //i代表双列集合中的每一个键
                        System.out.print(hm.get(i) + " ");
                }
这个部分不是明白,麻烦给解释一下,谢谢啦


评分

参与人数 1黑马币 +6 收起 理由
wangjie + 6 淡定

查看全部评分

2 个回复

倒序浏览
是指这个for循环么?是用于遍历数组或集合的格式, 冒号前是集合中每一项的数据类型, 循环次数是冒号后集合的长度.
回复 使用道具 举报
通过存放在treeset中并且排好序的各个键去找到hashmap中的值,hashmap中的值是扑克的颜色及数字,这样打印出来的就是每一个人手上的牌了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马