最近我被分配了一个任务,说:
编写一个名为NumberPermutation.java的程序,并实现下面指定的递归方法:
public static void permutation(int num)
此方法具有正整数作为其参数,并显示该长度的奇数位的所有排列。
以升序显示这些值。例如,如果长度为3,则程序应显示:
111 113 115 117 119 131 133 135
我是Java的新手(因为我以前的所有编码工作都是使用Python编写的,这是我工作的第三个Java程序),所以我绝对迷失在哪里开始。如果有人可以伸出援助之手告诉我如何开始,我会很感激,谢谢。
虽然我不喜欢闻到“帮助我完成家庭作业”的问题,但这次我会提供一个答案。这是我的建议。请不要只是复制,粘贴和交付。首先要了解,并使用此示例来了解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的事实使得这个解决方案毫无用处,但如果任务只是证明你理解递归它就足够了。