求简化多重循环
二酉子敬 2018-12-25 12:12:57 /**
* 测试调用的方法
*/
public static void testForFunction()
{
String[] betBunches = new String[]{"2", "3", "4"};
Object[][] list = new Object[][]{};
list[0] = new String[]{"周一001|胜|1", "周一001|平|2"};
list[1] = new String[]{"周二001|胜|3", "周二001|平|4"};
list[2] = new String[]{"周三001|胜|5"};
list[3] = new String[]{"周四001|胜|6"};
getBetList(betBunches, list);
}
/**
* 说 明: 计算投注注数
*
* @param betBunches 选择的串玩法
* @param list 投注场次和投注号码
* 创 建 人: zd
* 创建时间: 2018/12/25
**/
public static List<List<Object>> getBetList(String[] betBunches, Object[][] list)
{
Combination cb = new Combination(list);
List<List<Object>> cmNew = new ArrayList<>();
for (String betBunch : betBunches)
{
Integer num = Integer.valueOf(betBunch);
List<Object[][]> cm = cb.select(num);
for (int i = 0; i < cm.size(); i++)
{
Object[][] c = cm.get(i);
switch (num)
{
case 2:
for (Object c0 : c[0])
{
for (Object c1 : c[1])
{
List<Object> a2 = new ArrayList<>();
a2.add(c0);
a2.add(c1);
cmNew.add(a2);
}
}
break;
case 3:
for (Object c0 : c[0])
{
for (Object c1 : c[1])
{
for (Object c2 : c[2])
{
List<Object> a2 = new ArrayList<>();
a2.add(c0);
a2.add(c1);
a2.add(c2);
cmNew.add(a2);
}
}
}
break;
case 4:
for (Object c0 : c[0])
{
for (Object c1 : c[1])
{
for (Object c2 : c[2])
{
for (Object c3 : c[3])
{
List<Object> a3 = new ArrayList<>();
a3.add(c0);
a3.add(c1);
a3.add(c2);
a3.add(c3);
cmNew.add(a3);
}
}
}
}
break;
case 5:
for (Object c0 : c[0])
{
for (Object c1 : c[1])
{
for (Object c2 : c[2])
{
for (Object c3 : c[3])
{
for (Object c4 : c[4])
{
List<Object> a4 = new ArrayList<>();
a4.add(c0);
a4.add(c1);
a4.add(c2);
a4.add(c3);
a4.add(c4);
cmNew.add(a4);
}
}
}
}
}
break;
case 6:
for (Object c0 : c[0])
{
for (Object c1 : c[1])
{
for (Object c2 : c[2])
{
for (Object c3 : c[3])
{
for (Object c4 : c[4])
{
for (Object c5 : c[5])
{
List<Object> a5 = new ArrayList<>();
a5.add(c0);
a5.add(c1);
a5.add(c2);
a5.add(c3);
a5.add(c4);
a5.add(c5);
cmNew.add(a5);
}
}
}
}
}
}
break;
case 7:
for (Object c0 : c[0])
{
for (Object c1 : c[1])
{
for (Object c2 : c[2])
{
for (Object c3 : c[3])
{
for (Object c4 : c[4])
{
for (Object c5 : c[5])
{
for (Object c6 : c[6])
{
List<Object> a6 = new ArrayList<>();
a6.add(c0);
a6.add(c1);
a6.add(c2);
a6.add(c3);
a6.add(c4);
a6.add(c5);
a6.add(c6);
cmNew.add(a6);
}
}
}
}
}
}
}
break;
case 8:
for (Object c0 : c[0])
{
for (Object c1 : c[1])
{
for (Object c2 : c[2])
{
for (Object c3 : c[3])
{
for (Object c4 : c[4])
{
for (Object c5 : c[5])
{
for (Object c6 : c[6])
{
for (Object c7 : c[7])
{
List<Object> a7 = new ArrayList<>();
a7.add(c0);
a7.add(c1);
a7.add(c2);
a7.add(c3);
a7.add(c4);
a7.add(c5);
a7.add(c6);
a7.add(c7);
cmNew.add(a7);
}
}
}
}
}
}
}
}
break;
default:
}
}
}
Log.e("getBetList()", cmNew.toString());
return cmNew;
}