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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Set;
import java.util.TreeMap;


public class pukepai {

        /**
         * 模拟斗地主洗牌和发牌并对牌进行排序的代码实现
         */
        public static void main(String[] args) {
                String[] color ={"黑桃","梅花","方块","红桃"};
                String[] pai = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
                HashMap<Integer,String> hm = new HashMap<>();
                int i = 0;
                for (String st : pai) {
                        for (String str : color) {
                        hm.put(i++, str.concat(st))        ;
                        }
                }
                hm.put(52, "小王");
                hm.put(53, "大王");
                //System.out.println(hm);
               
                TreeMap<Integer,String> ouy = new TreeMap<>();
                TreeMap<Integer,String> gaojin = new TreeMap<>();
                TreeMap<Integer,String> zhouxingchi = new TreeMap<>();
                TreeMap<Integer,String> dipai = new TreeMap<>();
                ArrayList <Integer> al = new ArrayList<>();
                  Set<Integer> keySet = hm.keySet();
                  for (Integer integer : keySet) {
                        al.add(integer);
                }
                  System.out.println(al);
                  System.out.println("-----------");
                  Collections.shuffle(al);
                System.out.println(al);
               
                for (Integer in : al) {
                        if(in>=al.size()-3){
                                dipai.put(in, hm.get(in));
                        }
                        if(in%3==0){
                                ouy.put(in, hm.get(in));
                        }if(in%3==1){
                                gaojin.put(in, hm.get(in));
                        }if(in%3==2){
                                zhouxingchi.put(in, hm.get(in));
                        }
                }
                System.out.println(ouy);
                System.out.println("-----");
                System.out.println(gaojin);
                System.out.println("-----");
                System.out.println(zhouxingchi);
                System.out.println("-----");
                System.out.println(dipai);
        }

}


4 个回复

倒序浏览
你在问什么问题?你为什么要欺骗我残存的智商
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
for (Integer in : al) {
                        if(in>=al.size()-3){
                                dipai.put(in, hm.get(in));
                        }
                        if(in%3==0){
                                ouy.put(in, hm.get(in));
                        }if(in%3==1){
                                gaojin.put(in, hm.get(in));
                        }if(in%3==2){
                                zhouxingchi.put(in, hm.get(in));
                        }

这里错了,你直接判断牌的索引 来存取肯定不行啊,就像 if(in>=al.size()-3),符合规则的就只有最后3张牌,你自己定义个计数器,分别存取才行,要不就使用普通for,使用i 来判断发牌
回复 使用道具 举报
for (Integer in : al) {
                        if(in>=al.size()-3){
                                dipai.put(in, hm.get(in));
                        }
                        if(in%3==0){
                                ouy.put(in, hm.get(in));
                        }if(in%3==1){
                                gaojin.put(in, hm.get(in));
                        }if(in%3==2){
                                zhouxingchi.put(in, hm.get(in));
                        }

这里错了,你直接判断牌的索引 来存取肯定不行啊,就像 if(in>=al.size()-3),符合规则的就只有最后3张牌,你自己定义个计数器,分别存取才行,要不就使用普通for,使用i 来判断发牌
回复 使用道具 举报
非常感谢.这么热心的回复!!!赞一个
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马