扑克24 点游戏JAV A 源代码 1. 游戏规则简介 拿出一副扑克,随机发出四张扑克,要求游戏者随意组合使用+、-、×、÷四种算数方法,寻找能计算出结果为 24 的方案。 2. 源码说明 本源码由本人单独完成,使用JAVA 作为编码语言,其中使用泛型、枚举,JDK 版本你懂的。 下列部分截图: 1. 类的内部结构图: 2. 部分方法截图: 3. 测试方法截图 4. 结果展示: 99478方片7+方片6*方片3-方片1=24.0 99479方片7+方片5+方片4*方片3=24.0 99480方片7+方片5*方片4-方片3=24.0 99481方片7+方片5*方片3+方片2=24.0 99482方片7*方片4-方片3-方片1=24.0 99483方片7*方片3+方片2+方片1=24.0 99484方片6+方片5*方片4-方片2=24.0 99485方片6*方片5-方片4-方片2=24.0 99486方片5*方片4+方片3+方片1=24.0 99487方片4*方片3*方片2*方片1=24.0 99488方片4*方片3*方片2/方片1=24.0 1342059427653 3 . 源码 Puke24Test.java 附带正文: package com.test.puke; /** * * @author GuanChi * BUG说明: * 1.应该优先计算乘法(10+7/4*8)或(7/4*8+10)两种情况 * 2.组合重复情况是否需要过滤,如上面 */ public class Puke24Test { public static void serviceExce() { int count = 0; Puke24Test puke24 = new Puke24Test(); PokerContainer PokerContainer = puke24.new PokerContainer(); java.util.TreeSet
sPokers = PokerContainer.getPokers(); java.util.TreeMap mPokers = puke24.getTreeMapPokersByTreeSet(sPokers); Poker[] Pokers4 = new Poker[4]; for (int i = 1; i <= mPokers.size(); i++) { Pokers4[0] = mPokers.get(""+i); for (int j = i+1; j <= mPokers.size(); j++) { Pokers4[1] = mPokers.get(""+j); for (int k = j+1; k <= mPokers.size(); k++) { Pokers4[2] = mPokers.get(""+k); for (int l = k+1; l <= mPokers.size(); l++) { Pokers4[3] = mPokers.get(""+l); Expression24[] exps = calcBy4Pokers(Pokers4); for (int m = 0; m < exps.length; m++) { if (null != exps[m] && 24 == exps[m].getResult()) { System.out.println(""+ ++count+exps[m]); } } } } } } // 按次序获取四张牌,轮询所有组合方式,轮询所有计算方式,获取...