java - 这个迭代方法可以递归实现吗?

标签 java recursion

public class Main
{
    public static void pyr(int n)
    {      
        for(int i=1;i<=n;i++)
        {
             for(int j = 1;j<=i;j++)
             {  
                  System.out.print("*");
             }
             System.out.println();
        }
    }
 }

这样的星号金字塔形状的代码可以递归实现吗?如果是这样,尤其是 2 个循环,因为第一个循环用于调平,而第二个循环用于填充每个级别。

最佳答案

答案是肯定的 - 基本上所有迭代都可以递归完成,有时它更容易,但更耗时。

对于你的问题 - 这可以解决问题:

public static void main(String[] args) 
{
    printPyramid(7);
}

public static void printPyramid(int lines)
{
    if (lines > 1)
    {
        printPyramid(lines-1);
    }
    printLine(lines);
    System.out.println("");
}

public static void printLine(int level)
{
    if (level > 0)
    {
        System.out.print("*");
        printLine(level-1);
    }
}

关于java - 这个迭代方法可以递归实现吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6581799/

相关文章:

java - 如何阻止程序退出二维数组的边界

java - 通过返回 ArrayList 并为其赋值,将 Element 添加到 HashMap 中的 ArrayList

java - 是否可以并行运行递归函数?

java - libGDX 作为 "launcher"应用程序

java:如何在不强制值类型的情况下创建动态数组?

java - 当我的方法递归的唯一条件尚未满足时,为什么它会递归?

c++ - 使用除法技术求数组的最大公约数

c++ - 为没有模板参数的可变模板递归创建基本情况

java - 使用递归解决 N Queens

java - 在GLSL Shader中,如何移动图像 'smoothly'而不使用 'scrubbing'