3 回答
TA贡献1798条经验 获得超3个赞
假设你的递归方法只是从 开始倒数n。
static void countDown(int n) {
if (n <= 0)
return;
countDown(n - 1);
}
要按递归顺序打印,请在递归调用之前插入打印语句:
static void countDown(int n) {
if (n <= 0)
return;
System.out.println(n);
countDown(n - 1);
}
输出
5
4
3
2
1
看,从 5 开始倒数。
要反向打印,请在递归调用后插入打印语句:
static void countDown(int n) {
if (n <= 0)
return;
countDown(n - 1);
System.out.println(n);
}
输出
1
2
3
4
5
看,向上计数,即向下计数的相反过程。
TA贡献1773条经验 获得超3个赞
为了理解递归,首先必须理解递归。
首先要真正理解递归,它应该不难。递归方法的用例相反:简化问题。
递归解决的经典问题有素因数分解、阶乘、汉诺塔等。与CS比较相关的可以是数据结构搜索/排序算法。
TA贡献1871条经验 获得超8个赞
简单的。只需颠倒 print 语句和递归调用的顺序即可printTriangle():
public static void printTriangle(int sideLength, String trianglePattern)
{
if (sideLength < 1){return;}
for (int i = 0; i < sideLength; i++)
{
System.out.print(trianglePattern);
}
System.out.println();
printTriangle(sideLength - 1, trianglePattern);
}
在 Java 中测试:
添加回答
举报