文字列のすべての組み合わせを出力するソリューションが見つかりました。文字列配列を持つコンビナトリアル
トヨタブラックセダン
ホンダブラックセダン
トヨタ赤セダン
ホンダ赤セダン
トヨタブラックSUV
ホンダブラックSUV
トヨタ赤SUV
ホンダ赤:以下のコードは、の出力を有することになりますsuv
String[][] sets = new String[][] {{"Toyota", "Honda"}, {"black", "red"}, {"sedan", "suv"}};
int[] state = new int[sets.length];
int p = 0;
while (true) {
for (int i = 0; i < state.length; i++) {
System.out.print(sets[i][state[i]] + " ");
}
System.out.println();
state[p]++;
while(state[p] == sets[p].length) {
state[p] = 0;
p++;
if (p == sets.length) return;
state[p]++;
}
p = 0;
}
誰かが精緻化し、 oopはやっている?
'state'のエントリは' sets '現在のコンビネーションを構成するサブアレイからの文字列が生成されていることを示します。 2番目のループは 'state'のインデックスを進め、次の組み合わせを選び出します –