如何使用头文件 recursiveMethod(int x,int max)编写一个递归Java方法,这样如果我用 recursiveMethod(1,10)调用它它将打印以下内容:
1
22个
333个
4444
55555个
666666个
7777777个
88888888个
999999999
我知道如何使用循环执行此操作,但无法弄清楚如何使用递归执行此操作。任何帮助将不胜感激。
答案 0 :(得分:0)
递归意味着你必须有一个基本案例。首先制定基本案例:
if (a==b)
return;
上面的代码表示如果a == b,则递归将停止。我们将递归放入一个简单的递归方法,该方法最初提供错误的输出,但它编译并且是递归的:
public class Main {
void recursiveMethod(int a, int b) {
System.out.println(a);
a++;
if(a==b)
return;
else
recursiveMethod(a, b);
}
public static void main(String[] args) {
new Main().recursiveMethod(1, 10);
}
}
现在我们可以微调代码以产生正确的输出:
public class Main {
void recursiveMethod(int a, int b) {
for(int i=0;i<a;i++)
System.out.print(a);
System.out.println();
a++;
if(a==b)
return;
else
recursiveMethod(a, b);
}
public static void main(String[] args) {
new Main().recursiveMethod(1, 10);
}
}