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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

一天了就回复了一个 我今天看了真是搞不懂为啥少一个牌 求指教????
真是怕沉了这个问题 。。。谢谢帮助
今天讲的 问题  死活想不明白求解 我打印mapping的时候 少一个2 求解
private static int key =0;
        public static void main(String[] args) {
                //找数字扑克和 扑克的对应关系 key-->poker  value-->扑克
                Map<Integer, String> mapping = new HashMap<>();
                //集合装扑克牌
                ArrayList<Integer> poker = new ArrayList<Integer>();
                for(int i=1;i<=54;i++){
                        poker.add(i);
                }
                //组装扑克
                //扑克颜色
                ArrayList<String> color = new ArrayList<String>();
                Collections.addAll(color, "♠","♥","♦","♣");
                //扑克数字
                ArrayList<String> number = new ArrayList<String>();
                for (int i = 3; i <11 ; i++) {
                        number.add(""+i);
                }
                Collections.addAll(number, "J","Q","K","A","2");
                //组合扑克
                Integer thisKey =0;
                System.out.println(poker.size());
                for (String thisNumber  : number) {
                        for (String thisColor  : color) {
                                for(;key<poker.size();){ //从0- 53 poker.size()=54
                                        thisKey=poker.get(key);
                                        String thisValue = thisColor+thisNumber;
                                        mapping.put(thisKey, thisValue);
                                        key++;
                                        break;
                                }
                        }
                }
                mapping.put(key++,"小☺");
                mapping.put(key,"大☻");
                System.out.println(mapping);

4 个回复

倒序浏览
        mapping.put(++key,"小☺");
        mapping.put(++key,"大☻");
        System.out.println(mapping.size());
回复 使用道具 举报
mapping.put(key++,"小☺");   这里可以开始应该是 52    key++   是先赋值  再加加  就相当于mapping.put(52,"小☺");
mapping.put(key,"大☻");  即为mapping.put(53,"大☻");
回复 使用道具 举报
qetu001212 发表于 2016-8-4 00:31
mapping.put(++key,"小☺");
        mapping.put(++key,"大☻");
        System.out.println(map ...

可以了 谢谢 我一直以为在for 最内部的内个循环哪里
回复 使用道具 举报
不错,很有用!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马