Java中的递归数字排列

问题描述 投票:-4回答:1

最近我被分配了一个任务,说:

编写一个名为NumberPermutation.java的程序,并实现下面指定的递归方法:

public static void permutation(int num)

此方法具有正整数作为其参数,并显示该长度的奇数位的所有排列。

以升序显示这些值。例如,如果长度为3,则程序应显示:

111 113 115 117 119 131 133 135

我是Java的新手(因为我以前的所有编码工作都是使用Python编写的,这是我工作的第三个Java程序),所以我绝对迷失在哪里开始。如果有人可以伸出援助之手告诉我如何开始,我会很感激,谢谢。

java recursion permutation
1个回答
0
投票

虽然我不喜欢闻到“帮助我完成家庭作业”的问题,但这次我会提供一个答案。这是我的建议。请不要只是复制,粘贴和交付。首先要了解,并使用此示例来了解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的事实使得这个解决方案毫无用处,但如果任务只是证明你理解递归它就足够了。

© www.soinside.com 2019 - 2024. All rights reserved.