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);

2 个回复

倒序浏览
你循环从3开始的
回复 使用道具 举报
java627 发表于 2016-8-3 00:34
你循环从3开始的

这个没关系吧???最后运行结果少一个2 内个从3开始的是为了添加的时候都是有顺序的他从=3 到<11 不是添加了8个数字吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马