我找到了打印所有字符串组合的解决方案。下面的代码将有一个输出:与字符串数组的组合
丰田黑色轿车
本田黑色轿车
丰田大红花轿
本田红色轿车
丰田黑色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;
}
有人可以详细说明和解释第二个什么时候l OOP在干什么?
“状态”的条目是指向“子集”的索引'表示来自构成当前组合的子阵列的字符串。第二个循环提前在'状态'的指数来挑选下一个组合 –