仅使用递归从星星中创建三角形

我需要编写一个称为like的方法printTriangle(5);。我们需要创建一个迭代方法和一个递归方法(没有任何迭代)。输出需要如下所示:

*

**

***

****

*****

这段代码可用于迭代,但是我无法使其适应递归。

public void printTriangle (int count) {

int line = 1;

while(line <= count) {

for(int x = 1; x <= line; x++) {

System.out.print("*");

}

System.out.print("\n");

line++;

}

}

我应该注意,您不能使用任何类级别的变量或任何外部方法。

回答:

请注意,在迭代方法中,您有两个计数器:第一个是您所处的行line,第二个是您所处的行的位置x。您可以创建一个采用两个参数并将其用作嵌套计数器y和的递归函数x。在递减x直到其达到0的位置,然后递减y并设置x

= y,直到x和y均为0。

您可能还会注意到,三角形中的每条连续线都是前一行加一颗星。如果您的递归函数为上一行返回一串星号,则下一行始终是该字符串加上一个星号。因此,您的代码将类似于:

public String printTriangle (int count) {

if( count <= 0 ) return "";

String p = printTriangle(count - 1);

p = p + "*";

System.out.println(p);

return p;

}

以上是 仅使用递归从星星中创建三角形 的全部内容, 来源链接: utcz.com/qa/402351.html

回到顶部