我在递归打印出包含空格和星号的三角形时遇到了问题。显然,计算正确的空格和星号可能需要字符串缓冲区或字符串构建器,但我遇到了一些困难。这两个三角形应该如下所示:
****
***
**
*
和
*
**
***
****
public static String printTriangle(int num)
{
if (num == 0) {
return "";
}
String dots = "";
for (int i = 0; i < num; i++) {
dots = dots + "*";
}
System.out.println(dots);
return printTriangle(num-1) + dots;
}
public static String printTriangle2(int num) {
if (num == 0) {
return "";
}
String dots = printTriangle2(num-1);
dots = dots + ".";
String spaces = "";
for (int i = 0; i < num; i++) {
spaces = spaces + " ";
}
String line = spaces + dots;
System.out.println(line);
return line;
}
这就是我到目前为止所拥有的。任何帮助都将不胜感激。
这是当前的输出:
****
***
**
*
.
..
...
....
https://stackoverflow.com/questions/52786052
复制相似问题