/** * 选2的号码进行计算 * * @param playNum 投注号码,每个号码以","分割,格式如:1,2,3,4,5 * @return 整理后的投注号码,格式如"2|3|4|15"等,因为有10,11,12等3个两位数,所以每个投注号码之间以“,”分割 * 在此计算的最终结果,前后都不加"|",在AnalyseBuilder中将各个结果连接起来时,才在前后增加"|" 红投,数投都是如此 */ public String xuan3NumberBuilder(String tzNum, String playMode) { if (tzNum == null || tzNum.equals("")) { log.warn("快乐十分,任选3投注号码为空,请检查!"); return null; } // 将投注号码转化为整型数组 List list = new ArrayList(); if (playMode.equals(ExbConstant.X3_MODE_RENXUAN)) { // 任选,传入的格式为1,2,3,4,5,6,7 int[] intAry = JStringToolkit.splitStrToInt(tzNum, ","); list = zuhe.combine(intAry, 3); } else if (playMode.equals( ExbConstant.X3_MODE_RENXUAN_DANTUO)) { // 任选胆拖 传入的格式为 "胆1-拖3,4,5"或者"胆1,2-拖3,5,6" // 将号码进行分解,得到胆码和拖码, String danma = tzNum.substring(1, tzNum.indexOf("-")); String tuoma = tzNum.substring(tzNum.indexOf("-") + 2, tzNum.length()); // 将拖码转化为整型数组 int[] intDanmaAry = JStringToolkit.splitStrToInt(danma, ","); // 胆码也可能有多个 int danmaAryLen = intDanmaAry.length; int[] intTuomaAry = JStringToolkit.splitStrToInt(tuoma, ","); list = zuhe.combine(intTuomaAry, 3 - danmaAryLen); // 拖码中任选一个与胆码进行组合 return combDanTuo(list, intDanmaAry, 3); } else if (playMode.equals( ExbConstant.X3_MODE_QIANZHI)) { // 连直 传入的格式为 1,2,3,4,5,6|3,4,5,6,7,8|11,13,14 // 直选前3是按照顺序,不允许进行排列 String[][] ary = JStringToolkit.splitString(tzNum, "|", ",", true); // 将号码分成二维数组 String tempResult = JStringToolkit.combAryStr(ary, ",", "|", true); // 数组的第1行与第2行与第3行进行组合 return tempResult; // 结果无需整理,直接返回 } else if (playMode.equals(ExbConstant.X3_MODE_QIANZU)) { // 连组 传入的格式为 1,2,3,4,5,6 // 组选前3是不按照顺序,需要进行排列组合 int[] intAry = JStringToolkit.splitStrToInt(tzNum, ","); list = zuhe.combine(intAry, 3); } else if (playMode.equals( ExbConstant.X3_MODE_QIANZU_DANTUO)) { // 连组胆拖 传入的格式为 胆:1-拖:3,4,5,6,7,8 // 将号码进行分解,得到胆码和拖码, String danma = tzNum.substring(1, tzNum.indexOf("-")); String tuoma = tzNum.substring(tzNum.indexOf("-") + 2, tzNum.length()); // 将拖码转化为整型数组 int[] intDanmaAry = JStringToolkit.splitStrToInt(danma, ","); // 胆码也可能有多个 int danmaAryLen = intDanmaAry.length; int[] intTuomaAry = JStringToolkit.splitStrToInt(tuoma, ","); list = zuhe.combine(intTuomaAry, 3 - danmaAryLen); // 拖码中任选一个与胆码进行组合 return combDanTuo(list, intDanmaAry, 3); } String result = reDealResult(list); return result; }
/** * 选2的号码进行计算 * * @param playNum 投注号码,每个号码以","分割,格式如:1,2,3,4,5 * @return 整理后的投注号码,格式如"2|3|4|15"等,因为有10,11,12等3个两位数,所以每个投注号码之间以“,”分割 * 在此计算的最终结果,前后都不加"|",在AnalyseBuilder中将各个结果连接起来时,才在前后增加"|" 红投,数投都是如此 */ public String xuan2NumberBuilder(String tzNum, String playMode) { if (tzNum == null || tzNum.equals("")) { log.warn("快乐十分,任选2投注号码为空,请检查!"); return null; } // 将投注号码转化为整型数组 List list = new ArrayList(); if (playMode.equals(ExbConstant.X2_MODE_RENXUAN)) { // 任选,传入的格式为1,2,3,4,5,6,7 int[] intAry = JStringToolkit.splitStrToInt(tzNum, ","); list = zuhe.combine(intAry, 2); } else if (playMode.equals( ExbConstant.X2_MODE_RENXUAN_DANTUO)) { // 任选胆拖 传入的格式为 胆:1-拖:3,4,5,6,7,8 // 将号码进行分解,得到胆码和拖码, String danma = tzNum.substring(1, tzNum.indexOf("-")); String tuoma = tzNum.substring(tzNum.indexOf("-") + 2, tzNum.length()); // 将拖码转化为数组 String[] strDanmaAry = JStringToolkit.splitString(danma, ","); // 任选2中,胆码只能有1个 String[] strTuomaAry = JStringToolkit.splitString(tuoma, ","); String[][] tempAry = {strDanmaAry, strTuomaAry}; String tempResult = JStringToolkit.combAryStr(tempAry, ",", "|", true); // 数组的第一行与第二行进行组合 return tempResult; // 结果无需整理,直接返回 } else if (playMode.equals(ExbConstant.X2_MODE_LIANZHI)) { // 连直 传入的格式为 1,2,3,4,5,6|3,4,5,6,7,8 // 直选前2是按照顺序,不允许进行排列组合 String[][] ary = JStringToolkit.splitString(tzNum, "|", ",", true); // 将号码分成二维数组 String tempResult = JStringToolkit.combAryStr(ary, ",", "|", true); // 数组的第一行与第二行进行组合 return tempResult; // 结果无需整理,直接返回 } else if (playMode.equals(ExbConstant.X2_MODE_LIANZU)) { // 连组 传入的格式为 1,2,3,4,5,6 // 组选前2是不按照顺序,需要进行排列组合 int[] intAry = JStringToolkit.splitStrToInt(tzNum, ","); list = zuhe.combine(intAry, 2); } else if (playMode.equals( ExbConstant.X2_MODE_LIANZU_DANTUO)) { // 连组胆拖 传入的格式为 胆:1-拖:3,4,5,6,7,8 // 将号码进行分解,得到胆码和拖码, String danma = tzNum.substring(1, tzNum.indexOf("-")); String tuoma = tzNum.substring(tzNum.indexOf("-") + 2, tzNum.length()); // 将拖码转化为数组 String[] strDanmaAry = JStringToolkit.splitString(danma, ","); // 任选2中,胆码只能有1个 String[] strTuomaAry = JStringToolkit.splitString(tuoma, ","); String[][] tempAry = {strDanmaAry, strTuomaAry}; String tempResult = JStringToolkit.combAryStr(tempAry, ",", "|", true); // 数组的第一行与第二行进行组合 return tempResult; // 结果无需整理,直接返回; } String result = ""; // 整理结果 for (int i = 0; i < list.size(); i++) { int[] t = (int[]) list.get(i); String temp = ""; for (int m : t) { if (temp.equals("")) { temp = String.valueOf(m); } else { temp = temp + "," + m; } } if (result.equals("")) { result = result + temp; } else { result = result + "|" + temp; } } return result; }