现在有一个数据,里面有n列m行,每列数据个数已知,但每列数据个数不相等。现想从每列中各取一个数据,进行排列组合,要求覆盖所有组合,即 n x m种组合。将每种组合输出多谢高手指教!!谢谢!!!!
解决方案 »
- 询问一个有关dao的问题
- 一个比较诡异的问题
- 求一个JAVA计算器代码
- 几道JAVA的基础题,请大家帮帮忙!谢谢!!救命题!!!
- 100分讨论代理验证问题
- 请问要用exlipse开发servlet和jsp要装什么插件啊??
- [新手提问,up有分] linux下,如何用runtime.exec启动另外一个java进程
- 有没有办法获得ResultSet中列的个数?
- 为什么在MS-DOS下用javac进行编译时总会提示Bad command or file name!
- 送分!谁能解释一下?!
- 怎么得到PreparedStatement对象executeQuery()函数所返回的结果集行数??
- 关于异常的问题????
//千万别忘记给我加分哦^-^public class Suan{
private int[][] data={{1,4},{2,3,4},{5,7}};
private int m;
private int[] tp;
Suan(){
m=data.length;
tp=new int[m];
process(-1);
}
void process(int i){
if (i==(m-1)){
for(int j=0;j<m;j++) System.out.print(tp[j]+" ");
System.out.println();
return;
}
for(int j=0;j<data[i+1].length;j++){
tp[i+1]=data[i+1][j];
process(i+1);
}
}
public static void main(String [] args){
new Suan();
}
}
(这个贴,怎么这么冷清,自己要多顶哦)
package steeven;
import java.util.ArrayList;public class Test {
public java.util.ArrayList r;
public Test(ArrayList in) {
r = new ArrayList();
if (in.size()==1)
r.add(in.get(0));
for (int i=0;i<in.size();i++){
ArrayList sub = (ArrayList)in.clone();
String s = (String)sub.remove(i);
Test other = new Test(sub);
for (int j=0;j<other.r.size();j++)
r.add(s+(String)other.r.get(j));
}
}
public static void main(String[] args) {
ArrayList a = new ArrayList();
a.add("a");
a.add("b");
a.add("c");
a.add("d");
Test test = new Test(a);
for (int i=0;i<test.r.size();i++)
if ((i+1)%(a.size()-1)==0)
System.out.println(test.r.get(i).toString());
else
System.out.print(test.r.get(i).toString()+",");
}
}