Я боролся с этим в течение нескольких дней, и я не могу показаться закончить его. Вопрос заключается в следующем:рекурсивно получить комбинации слов
Напишите рекурсивный метод String [] perm (int n), который принимает один аргумент: Integer n. Метод возвращает массив всех слов с ровно n слогами. Слова, доступные для использования являются: «Foo» и «Бар»
У меня есть следующий код без рекурсии:
static String[] words = {"Foo","Bar"};
static int n = 2;
static int count = 0;
public static String[] perm(int n) {
String[] wordsArray = new String[4];
for(int i = 0; i < words.length; i++) {
for(int j = 0; j < words.length; j++) {
wordsArray[count] = words[i] + words[j];
count++;
}
}
return wordsArray;
}
Я не могу показаться, чтобы получить следующие результаты, используя рекурсию и возвращение строка Array вдоль пути. Так что я был интересно, можете ли вы мне помочь.
Следующие должны быть результаты с 2-х слогов:
FooFoo
FooBar
BarFoo
BarBar
Ну я попробовал много, что все не работает или не хватало что-то. Вышеупомянутая функция дает лучшее представление о том, что она должна делать, даже если она не является рекурсивной. – user1213904
Ваш код не работает для 3 строк, вам также нужно исправить это. – StackFlowed
Ну, это проблема, поскольку у вас есть 3 слога, для циклов будет 2 = 3. Это часть, которая должна быть рекурсивной, но я могу заставить ее работать, чтобы иметь рекурсивную функцию, которая добавляет строки и возвращает строковые массивы. Я воссоздаю свою предыдущую функцию и отредактирую ее как можно скорее – user1213904