Ejemplo n.º 1
0
  /**
   * 选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;
  }
Ejemplo n.º 2
0
  /**
   * 选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;
  }