需求如下:
二维动态字符串数组,如String[][] array=new String[][]{{"1","2","a","b"}}
现在要遍历这个数组,生成所有可能的字符串组合,比如1a,1b,2a,2b
如何实现?
二维动态字符串数组,如String[][] array=new String[][]{{"1","2","a","b"}}
现在要遍历这个数组,生成所有可能的字符串组合,比如1a,1b,2a,2b
如何实现?
解决方案 »
- For 循环问题求解
- 迅雷笔试的一道多线程题目解答
- 请问double heightofyou=1.83;是非法字符?
- 一道java题,大家帮帮看看啊~~谢谢!~~
- 关于java.net.URL
- 帮我看看这个问题是什么意识 小弟先谢过了
- 向大家请教一下本人学JNI的时候遇到问题。
- 关于SESSION的问题,在线等待
- 新手请教一个基本问题,我现在机器上装的是j2re-1.4的版本,那是不是说就包含了SDK了呢??谢谢
- 各位高手,我在applet里放了一个jpanel,在panel里add了一个按钮,又用panel.getgraphic.drawline,刷新后只有按钮,没有那条线了
- 编写命令行交互(CLI)程序的疑问
- 客户端Socket如何通过代理连Internet上的server(急)
首先,你的定义中只有一维有用,第二维没有用。那么我们写的算法是需要遍历一维还是二维?
其次,是生成所有两个字母的组合吗?1ab,2ab,12a,12ab需要生成吗?
请楼主把上述两个问题整理清楚一下。
不好意思,写错了。
每一维必取且只取一个字符串。
for (int i=0;i<array[0].length;i++){
for (int j=0;j<array[1].length;j++){
System.out.println(array[0][i] + array[1][j]);
}
}
你那样只处理了,【2】【n】维的数组,我现在是【n】【m】维的数组。比如说,数组是{{1,2},{a,b},{c,d}} ,你那个就不正确了。
不是n维,是二维动态的数组【n】【m】。
关键是你无法确定n是多少,就没法知道写几个for循环了。
能给出个大概的代码吗?
String[][] array = new String[][] { { "1", "2", "3" }, { "+", "-" }, { "a", "b", "c" }, { "=" } };
for (int i = 0; i < array[0].length; i++) {
String s = array[0][i];
add(array, s, 0);
}
}public static void add(String[][] array, String s, int i) {
int k = i + 1;
if (k < array.length) {
for (int l = 0; l < array[k].length; l++) {
String s1 = s + array[k][l];
add(array, s1, k);
if (k == array.length - 1) {
System.out.println(s1);
}
}
}
}