Ejemplo n.º 1
0
  /**
   * 将包含拖码的list与胆码进行组合,
   *
   * @param list 包含拖码的list
   * @param intDanmaAry 胆码数组
   * @param playTypeLen 玩法的长度,如任选3:长度为3
   * @return 胆码与拖码合并进行排列
   */
  private String combDanTuo(List<int[]> list, int[] intDanmaAry, int playTypeLen) {
    String result = "";
    int danmaAryLen = intDanmaAry.length;
    // 整理结果
    for (int i = 0; i < list.size(); i++) {
      int[] t = (int[]) list.get(i);
      // 将胆码与拖码进行合并,合并成新的数组
      int[] combNewAry = new int[t.length + danmaAryLen];
      for (int k = 0; k < t.length; k++) {
        combNewAry[k] = t[k];
      }
      int tempCount = 0;
      for (int k = t.length; k < combNewAry.length; k++) {
        combNewAry[k] = intDanmaAry[tempCount++];
      }
      // tempAry[tempAry.length-1] = Integer.parseInt(danma);
      // 对新数组进行从小到大排序
      JStringToolkit.intOrder(combNewAry, 1);

      // 对结果进行组合即可,在计算时,将开奖结果按照相应的顺序进行组合即可
      String tempStr = "";
      for (int temp : combNewAry) {
        if (tempStr.equals("")) {
          tempStr = String.valueOf(temp);
        } else {
          tempStr = tempStr + "," + temp;
        }
      }

      if (result.equals("")) {
        result = result + tempStr;
      } else {
        result = result + "|" + tempStr;
      }
      /*
      String temp = "";
      //应该先见所有的胆码与拖码分别进行组合后,再将组合后的值分别进行排列
      //如果是任选2并且是组选前2胆拖,则进行重新计算如果是任选2并且是组选前2胆拖,则进行重新计算
      List<String> tList = new ArrayList<String>();

      pailie.permutation(tList,combNewAry, playTypeLen,"1");
      for(String ss : tList){
      	if (result.equals("")) {
      		result = result + ss;
      	} else {
      		result = result + "|" + ss;
      	}
      }
      */
    }
    return result;
  }