黑马程序员技术交流社区

标题: 这个我真是想不明白 怕沉了就在发一次求大神指教 [打印本页]

作者: 牧风    时间: 2016-8-3 22:58
标题: 这个我真是想不明白 怕沉了就在发一次求大神指教
一天了就回复了一个 我今天看了真是搞不懂为啥少一个牌 求指教????
真是怕沉了这个问题 。。。谢谢帮助
今天讲的 问题  死活想不明白求解 我打印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);


作者: qetu001212    时间: 2016-8-4 00:31
        mapping.put(++key,"小☺");
        mapping.put(++key,"大☻");
        System.out.println(mapping.size());
作者: 1208124957    时间: 2016-8-4 00:47
mapping.put(key++,"小☺");   这里可以开始应该是 52    key++   是先赋值  再加加  就相当于mapping.put(52,"小☺");
mapping.put(key,"大☻");  即为mapping.put(53,"大☻");
作者: 牧风    时间: 2016-8-4 00:54
qetu001212 发表于 2016-8-4 00:31
mapping.put(++key,"小☺");
        mapping.put(++key,"大☻");
        System.out.println(map ...

可以了 谢谢 我一直以为在for 最内部的内个循环哪里
作者: xueyezhishi    时间: 2016-8-4 07:47
不错,很有用!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2