黑马程序员技术交流社区

标题: 刚学集合玩个斗地主还是激动了半天 [打印本页]

作者: 张少军    时间: 2015-8-10 16:33
标题: 刚学集合玩个斗地主还是激动了半天
public class Demo {
        public static void main(String[] args) {
                String[] color = { "黑桃", "红桃", "梅花", "方块" };
                String[] number = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10",
                                "J", "Q", "K" };

                ArrayList<String> array = new ArrayList<String>();
                array.add("大王");
                array.add("小王");

                for (String c : color) {
                        for (String n : number) {
                                array.add(c.concat(n));
                        }
                }
                Collections.shuffle(array);
                // System.out.println(array);
               
                ArrayList<String> player1 = new ArrayList<String>();
                ArrayList<String> player2 = new ArrayList<String>();
                ArrayList<String> player3 = new ArrayList<String>();
               
                for (int i = 0; i < array.size()-3; i++) {
                        if (i%3 == 0) {
                                player1.add(array.get(i));
                        }
                        if (i%3 == 1) {
                                player2.add(array.get(i));
                        }
                        if (i%3 == 2) {
                                player3.add(array.get(i));
                        }
                }
               
               
                Collections.sort(player1, new MyComparator());
                Collections.sort(player2, new MyComparator());
                Collections.sort(player3, new MyComparator());
               
                System.out.println("player1"+player1);
                System.out.println("player1"+player2);
                System.out.println("player1"+player3);
               
                for (int i = array.size()-3; i < array.size(); i++) {
                        System.out.print(array.get(i)+",");
                }
               
               
        }
}


public class MyComparator implements Comparator<String>{
public int compare(String s1, String s2) {
               
                // 截取花色
                String c1 = s1.substring(0, 2);
                String c2 = s2.substring(0, 2);
               
                // 截取点数
                String n1 = s1.substring(2);
                String n2 = s2.substring(2);
               
                int num1 = StringToInt(c2, n2) - StringToInt(c1, n1);
                int num2 = num1 == 0 ? c2.compareTo(c1) : num1;
               
                return num2;
        }
       
        public static int StringToInt(String c, String n) {
               
                int rut = 0;
                if (c.equals("大王")) {
                        return 17;
                }
                if (c.equals("小王")) {
                        return 16;
                }
               
                if (n != null) {
                       
                        switch (n) {
                        case "2":
                                rut = 15;
                                break;
                        case "A":
                                rut = 14;
                                break;
                        case "J":
                                rut = 11;
                                break;
                        case "Q":
                                rut = 12;
                                break;
                        case "K":
                                rut = 13;
                                break;
                        default:
                                rut = Integer.parseInt(n);
                                break;
                        }
                }
                return rut;
        }
}




作者: zhaoyue    时间: 2015-8-10 21:10
你老师是HLY吗?
作者: VCxiaopeng    时间: 2015-8-10 21:27
我靠,厉害厉害啊{:3_53:}
作者: 虚心的小菜    时间: 2015-8-10 21:36
厉害啊!佩服!
作者: 朝花夕拾7    时间: 2015-8-10 21:45
支持一下
作者: CharnLau    时间: 2015-8-10 21:57
这段代码我完全没敲!
作者: 天地一沙鸥    时间: 2015-8-10 22:24
这段代码还是很有意思的。
感觉蛮有趣的。
我现在想等学完IO是不是可以模仿侠客行自己做个MUD
作者: kenfans    时间: 2015-8-10 22:48
代码好多我有点晕
作者: 烬5    时间: 2015-8-10 22:54
感觉很厉害的样子
作者: a513200780    时间: 2015-8-10 23:08
厉害!!半个月了  我还在看面向对象{:2_30:}
作者: 小黑与小白    时间: 2015-8-10 23:48
这是复制粘贴!!!
作者: 张少军    时间: 2015-8-11 23:13
小黑与小白 发表于 2015-8-10 23:48
这是复制粘贴!!!

{:2_40:}zi ji xie de hao bu hao
作者: 张少军    时间: 2015-8-11 23:15
a513200780 发表于 2015-8-10 23:08
厉害!!半个月了  我还在看面向对象

不会吧?面向对象要在往后的学习中慢慢深入的
作者: 张少军    时间: 2015-8-11 23:17
烬5 发表于 2015-8-10 22:54
感觉很厉害的样子

我也感觉很厉害的样子!{:2_32:}
作者: 塞巴斯的小夏尔    时间: 2015-8-11 23:18
加油加油↖(^ω^)↗
作者: 张少军    时间: 2015-8-11 23:19
kenfans 发表于 2015-8-10 22:48
代码好多我有点晕

都表酱紫好不啦,其实很好理解的
作者: 张少军    时间: 2015-8-11 23:20
天地一沙鸥 发表于 2015-8-10 22:24
这段代码还是很有意思的。
感觉蛮有趣的。
我现在想等学完IO是不是可以模仿侠客行自己做个MUD ...

{:2_42:}那你加油哦!
作者: 张少军    时间: 2015-8-11 23:21
CharnLau 发表于 2015-8-10 21:57
这段代码我完全没敲!

介个要自己动手敲一下好
作者: 张少军    时间: 2015-8-11 23:22
朝花夕拾7 发表于 2015-8-10 21:45
支持一下

{:2_43:}嘎嘎嘎嘎
作者: 张少军    时间: 2015-8-11 23:23
zhaoyue 发表于 2015-8-10 21:10
你老师是HLY吗?

不是不是的
作者: 阮文江    时间: 2015-8-11 23:25
我觉的集合这里知识点好多,,,消化了很久都没搞定!
作者: 泽尻绘里香    时间: 2015-8-11 23:55
唯有这个比较器真是让人捉摸不透
作者: 大木木    时间: 2015-8-12 00:22
大神,萌新不懂,为何编译报错了咧~
Demo.java:58: 错误: 类MyComparator是公共的, 应在名为 MyComparator.java 的文件中
声明
作者: 张少军    时间: 2015-8-13 22:48
大木木 发表于 2015-8-12 00:22
大神,萌新不懂,为何编译报错了咧~
Demo.java:58: 错误: 类MyComparator是公共的, 应在名为 MyComparator. ...

你是怎么运行的   MyComparator类要单独放一个文件的
作者: 张少军    时间: 2015-8-13 22:49
泽尻绘里香 发表于 2015-8-11 23:55
唯有这个比较器真是让人捉摸不透

{:2_44:}比较器?就是一个规则而已。按自己的想法就可以。
作者: 张少军    时间: 2015-8-13 22:51
阮文江 发表于 2015-8-11 23:25
我觉的集合这里知识点好多,,,消化了很久都没搞定!

{:3_62:}集合的东西确实挺多的  不好记还容易记错,在实践中慢慢理解呗




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