Рекурсивная перестановка чисел в Java - PullRequest
0 голосов
/ 09 сентября 2018

недавно я получил задание, которое говорит это:

Напишите программу с именем NumberPermutation.java и реализуйте рекурсивный метод, указанный ниже:

публичная статическая перестановка пустот (int num)

Этот метод имеет положительное целое число в качестве параметра и отображает все перестановки нечетных цифр этой длины.

Отображать эти значения в порядке возрастания. Например, если длина равна 3, ваша программа должна отобразить:

111 113 115 117 119 131 133 135

Я очень новичок в Java (как и во всех моих предыдущих заданиях по кодированию за прошлый год, был на Python, и это третья Java-программа, над которой я работал), поэтому я совершенно заблудился, где вообще получить началось. Если кто-нибудь может протянуть руку и сказать мне, как начать, я был бы благодарен, спасибо.

1 Ответ

0 голосов
/ 10 сентября 2018

Хотя мне не нравятся вопросы, которые пахнут «помогите мне с домашним заданием», на этот раз я дам ответ. Вот мое предложение. Пожалуйста, не просто копируйте, вставляйте и передавайте. Сначала поймите, и используйте этот пример, чтобы понять некоторые основы Java.

public class RecursionTester {

public static void main(String[] args) {
    new RecursionTester().permutation(3);
}

private void permutation(int num) {
    permutation(num, "");
}

private void permutation(int num, String buffer) {
    if (num == 0) {
        System.out.println(buffer);
        return;
    }
    for (int i = 1; i < 10; i += 2) {
        permutation(num - 1, buffer + Integer.toString(i));
    }
}

}

Тот факт, что результаты просто попадают в System.out, делает это решение довольно бесполезным, но если задача состоит только в том, чтобы доказать, что вы понимаете рекурсию, этого должно быть достаточно.

...