仅使用递归从星星中创建三角形
我需要编写一个称为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