組み合わせふたたび
2015/08/29
java
組み合わせ
Javaです。また組み合わせです。
[java]組み合わせ | プログラマメモ2
昔、やったけど、よくわからないコードですね。。。
また組み合わせです。
再帰でぐるぐるです。
みなさんどうやってるんですかね。。
結果
[java]組み合わせ | プログラマメモ2
昔、やったけど、よくわからないコードですね。。。
また組み合わせです。
再帰でぐるぐるです。
みなさんどうやってるんですかね。。
結果
aaa 111 xxx aaaa 555
aaa 111 xxx aaaa 666
aaa 111 xxx bbbb 555
aaa 111 xxx bbbb 666
aaa 111 yyy aaaa 555
aaa 111 yyy aaaa 666
aaa 111 yyy bbbb 555
aaa 111 yyy bbbb 666
aaa 222 xxx aaaa 555
aaa 222 xxx aaaa 666
aaa 222 xxx bbbb 555
aaa 222 xxx bbbb 666
aaa 222 yyy aaaa 555
aaa 222 yyy aaaa 666
aaa 222 yyy bbbb 555
aaa 222 yyy bbbb 666
bbb 111 xxx aaaa 555
bbb 111 xxx aaaa 666
bbb 111 xxx bbbb 555
bbb 111 xxx bbbb 666
bbb 111 yyy aaaa 555
bbb 111 yyy aaaa 666
bbb 111 yyy bbbb 555
bbb 111 yyy bbbb 666
bbb 222 xxx aaaa 555
bbb 222 xxx aaaa 666
bbb 222 xxx bbbb 555
bbb 222 xxx bbbb 666
bbb 222 yyy aaaa 555
bbb 222 yyy aaaa 666
bbb 222 yyy bbbb 555
bbb 222 yyy bbbb 666
public class Test組み合わせ01 {
public static void main(String[] args) {
a();
}
static void a(){
String[][] sss = {{"aaa", "bbb"},{"111","222" },{"xxx", "yyy"}, {"aaaa", "bbbb"}, {"555", "666"}};
StringBuilder builder = new StringBuilder();
out(builder, sss, new String[sss.length], 0);
System.out.println(builder);
}
static void out(StringBuilder builder, String[][] sss, String[] holder, int pos){
if (sss.length - 1< pos) {
print(builder, holder);
return;
}
String[] ss = sss[pos];
for (String s : ss) {
holder[pos] = s;
out(builder, sss, holder, pos + 1);
}
}
static void print(StringBuilder builder, String...ss){
for (String s : ss) {
builder.append(s).append("\t");
}
builder.append("\n");
}
}
: