public static String[][] arithmetic(ArrayList list){ String arr=(String[])list.get(x)
//list的每一项都是一个String[],list有多少项不定,String[] 有多少维不定
//求数组间排列组合的结果
//如
list.get(0)=String[2]{"1","2"};
list.get(1)=String[3]{"a","b","c"};
//则返回:
1 a
1 b
1 c
2 a
2 b
2 c //如
list.get(0)=String[2]{"1","2"};
list.get(1)=String[3]{"a","b","c"};
list.get(2)=String[2]{"d","e"}; //则返回:
1 a d
1 a e
1 b d
1 b e
1 c d
1 c e
2 a d
2 a e
2 b d
2 b e
2 c d
2 c e
}
//list的每一项都是一个String[],list有多少项不定,String[] 有多少维不定
//求数组间排列组合的结果
//如
list.get(0)=String[2]{"1","2"};
list.get(1)=String[3]{"a","b","c"};
//则返回:
1 a
1 b
1 c
2 a
2 b
2 c //如
list.get(0)=String[2]{"1","2"};
list.get(1)=String[3]{"a","b","c"};
list.get(2)=String[2]{"d","e"}; //则返回:
1 a d
1 a e
1 b d
1 b e
1 c d
1 c e
2 a d
2 a e
2 b d
2 b e
2 c d
2 c e
}
http://www.elearning.gov.cn/elearning/user/findclass.do?method=courselist&categoryid=57982540b6cd11d993d0f770c0a83c70&id=2
public static void main(String[] args)
{
ArrayList list=new ArrayList();
list.add(new String[]{"1","2"});
list.add(new String[]{"a","b","c"});
list.add(new String[]{"d","e"});
Test test=new Test();
test.visit(1,new StringBuffer(""),list);
}
public void visit(int depth,StringBuffer lastLevelStringBuff,ArrayList inputList){
String[] currentLevelString=(String[])inputList.get(depth-1);
if(depth==inputList.size())
{
for(int i=0;i<currentLevelString.length;i++)
{
StringBuffer sb=new StringBuffer().append(lastLevelStringBuff);
System.out.println(sb.append(currentLevelString[i]));
}
}
else
{
for(int i=0;i<currentLevelString.length;i++)
{
StringBuffer sb=new StringBuffer().append(lastLevelStringBuff);
visit(depth+1,sb.append(currentLevelString[i]).append(" "),inputList);
}
}
}
}
老大,你强!