Моя задача: учитывая определенную общую длину строки и каждая позиция может состоять только из предопределенных определенных символов, генерировать все возможные строки.
Для примера: я хочу создать все строки длиной 3, где позиции определяются как
Код: Выделить всё
[ABC][123][XYZ]
Код: Выделить всё
A1X
A1Y
A1Z
A2X
A2Y
A2Z
...
...
C3Z
Код для длины 3 и трех возможных символов в каждой позиции:
Код: Выделить всё
public static void main(String[] args) {
String[] first = {"A", "B", "C"};
String[] second = {"1", "2", "3"};
String[] third = {"X", "Y", "Z"};
List result = createStrings(first, second, third);
result.forEach(System.out::println);
}
static List createStrings(String[] ... strs) {
String[] first = strs[0];
String[] second = strs[1];
String[] third = strs[2];
List result = new ArrayList();
for (int i = 0; i < first.length; i++) {
for (int j = 0; j < second.length; j++) {
for (int k = 0; k < third.length; k++) {
result.add(first[i] + second[j] + third[k]);
}
}
}
return result;
}
Подробнее здесь: https://stackoverflow.com/questions/787 ... conditions