`
starbhhc
  • 浏览: 638512 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

有n张扑克牌,每张牌的取值范围是:2,3,4,5,6,7,8,9,

    博客分类:
  • java
阅读更多
import java.util.Arrays;


/**
* (c)2010 华润(集团)有限公司版权所有. 保留所有权利.
*
* 文件名称:Ha.java
* 程序说明:
* 创建日期:Jun 18, 2010
* @version 1.0
*/

/**
* @类名:Ha
* @描述:TODO
* @创建日期:Jun 18, 2010 4:43:36 PM
* @修改记录:
*
* @author WangYanFeng
*/

public class Ha {

    /*
     * 有n张扑克牌,每张牌的取值范围是:2,3,4,5,6,7,8,9,
     * 10,J,Q,K,A。在这n张牌中找出顺子(5张及5张以上的连续
     * 的牌),并将这些顺子打印出来。
     */

//    public static void main(String[] args) {
//     // TODO Auto-generated method stub
//     String str = "2,3,4,5,6,7,8,9,10,J,Q,K,A";
//     wantA(str,5);
//     }
//     
//     /**
//     * 
//     * @param str 
//     * @param limit 最少几个连续
//     */
//     public static void wantA(String str,int limit){
//     String[] array = str.split(",");
//     for(int i = 0;i<array.length - limit;i++){
//     for(int j = i+limit;j<array.length - 1;j++){
//     for(int k = i;k<j;k++){
//     System.out.print(array[k]);
//     }
//     System.out.println();
//     }
//     }
//     }
//    }
   
//    public static void main(String[] args) {
//        String str = "2,3,4,5,6,7,8,9,10,J,Q,K,A";
//        wantA(str,5);
//      }
//     
//      public static void wantA(String str,int limit){
//        String[] array = str.split(",");
//        for(int k = 0; k < array.length - limit + 1; k ++){
//            for(int j = limit + k ; j < array.length + 1;j ++){
//                for(int i = k; i < j; i ++){
//                    System.out.print(array[i]);
//                }
//                System.out.println();
//            }
//        }
//      }

    public static void main(String[] args) {
        char[] cs = { 'Z', 'C', 'D', 'E', '1', '2', '3', '4', '8', '5', '6',
                'A', '7', 'B' };
        Arrays.sort(cs);
        System.out.println(Arrays.toString(cs));
        // 连续的字符长度默认设置为5
        int length = 5;
        while (length < cs.length) {
            for (int i = 0; i < cs.length - length; i++) {
                char[] temp = getIncreaseChars(new String(cs).substring(i,
                        i + length).toCharArray(), length);
                if (temp != null)
                    System.out.println(Arrays.toString(temp));
            }
            length++;
        }
    }

    // 专门比较连续的n个字符或数字
    public static char[] getIncreaseChars(char[] cs, int n) {
        if (cs.length != n)
            throw new RuntimeException("char array's length must be " + n);
        char[] csCopy = cs.clone();
        Arrays.sort(csCopy);
        for (int i = 0; i < n - 1; i++) {
            if (csCopy[i + 1] != csCopy[i] + 1)
                return null;
        }
        return csCopy;
    }

}

分享到:
评论

相关推荐

    慕课网Java扑克牌大作业

    实现的功能:一副扑克牌(去掉大、小王),随机洗牌后,从上到下,顺序地发给四名玩家,每人发四张,比较四个人...(从小到大依次是:4,5,6,7,8,9,10,A,J,Q,K,2,3)。 代码中有非常详细的注释。要的请下载

    54张纸牌扑克牌图片

    完整的扑克牌图片,清晰版,斗地主,纸牌程序用图 54张扑克牌外加背景图片和开始图

    扑克牌52张单图

    扑克牌52张单图,每张牌的单图.

    扑克牌排序

    假设有36张扑克牌,分别为A1~A9,B1~B9,C1~C9,D1~D9,其中A代表方片,B代表草花,C代表红桃,D代表黑桃,那么,设定如下的排序规则: 1.对于两张卡牌,X1Y1与X2Y2,X1与X2表示A~D,Y1与Y2表示1~9,如果X1与X2不同,...

    高清的54张扑克牌图片素材资源

    高清的54张扑克牌图片素材资源,用来开发扑克牌游戏超好用

    2. 定义一个Card类,表示扑克牌,该类包括下述成员

    face描述一张牌的牌面值(如:A、K、Q、J、10、9、8、7、6、5、4、3、2等),suit描述一张牌的花色(如:“梅花”、“黑桃”、“红桃”、“方块”)。 (2) 有一个public访问权限的构造方法,为类中的两个变量赋值 ...

    54张扑克牌(单张)

    单张全套扑克牌图片,适合游戏开发,素材等

    扑克牌全套54张素材

    为了做个扑克游戏,网上找了很多素材都不合适,干脆自己做了一套高清的扑克牌图片素材,包含GIF和PNG两个版本。 分享给有需要的朋友们。

    扑克牌问题

    编号为1-52张牌,正面向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,直到最后一张牌;然后,从第3张开始,以3为...再依次5的倍数的牌翻一次,6的,7的 直到 以52为基数的 翻过,输出:这时正面向上的牌有哪些?

    用扑克牌计算24点问题代码

    一副扑克牌的每张牌表示一个数(J、Q、K分别表示11、12、13,两个司令不用)。任取4张牌,即得到1-13的数,请添加运算符(规定为加、减、乘、除四种)使之成为运算式。每个数只能参与一次运算,4个数顺序可以任意...

    54张扑克牌高清免抠版

    54张扑克牌,png格式,648x906分辨率,禁止用于商业用途。

    vc++课程设计 让计算机来猜测用户“暗记”的某张扑克牌

    编程序,让计算机来猜测用户“暗记”的某张扑克牌:计算机从一副扑克牌(54张)中任意抽出27张,摆放在不同的三行上(每行9张),用户“暗记”某张纸牌,而后告诉计算机所“暗记”的那张纸牌处于哪一行中;...

    扑克牌制作软件

    《扑克牌DIY系统》是一款制作个性扑克牌、纪念扑克牌、功能扑克牌的专业软件。有了它,现在您也可以制作通缉令扑克了。支持自定义图片,支持多行文字,只需几个步骤您就可以制作出漂亮的个性扑克牌。通过普通打印机...

    Java实现的发牌程序

    不能整除时,每个人的牌数可以不同,如3个人1幅牌,则第1个人18张,第2个和第3个人17张牌。 (4) 发牌完成后按花色(顺序为黑桃、红心、草花、方块)和牌面大小输出每个人得到的牌。 例如: 输入扑克牌幅数:1 输入...

    24点游戏 数据结构 4张扑克牌

    由系统随机生成4张扑克牌,用户利用扑克牌的数字及运算符号“+”、“—”、“*”、“/”及括号“(”和“)”从键盘上输入一个计算表达式,系统运行后得出计算结果,如果结果等于24,则显示“Congratulation!...

    54张扑克牌png格式 素材

    全套的扑克牌,500*726,png格式 全套

    计算机必胜的扑克牌游戏

    如果计算机必胜的话,则抽取扑克时最后一次必定只剩一张且轮到游戏者取牌。因为题目要求第一次是计算机取牌,所以去掉第一次计算机取的牌...所以,计算机第一次取3张牌,以后每次取(5-n) 张牌,n为游戏者所取牌的数目。

    扑克牌发牌C语言程序

    2副54张的扑克牌4人随机发牌,可应用于游戏中

    C++计算机猜扑克牌

    计算机从一副扑克牌(54张)中任意抽出27张,摆放在不同的三行上(每行9张),用户“暗记”某张纸牌,而后告诉计算机所“暗记”的那张纸牌处于哪一行中;之后计算机再两次将纸牌重新摆放,并让用户再回答两次相同的...

    精美的扑克牌素材 - 54张+卡背

    精美的扑克牌素材 - 54张+卡背. 网上搜到的线程的扑克牌素材都太丑了。而且很老。 其他没什么好介绍的。最低设置是2分, csdn现在好坑。

Global site tag (gtag.js) - Google Analytics