gpt4 book ai didi

java - 使用递归用星形创建三角形

转载 作者:行者123 更新时间:2023-12-02 09:14:28 25 4
gpt4 key购买 nike

我首先需要创建一个名为 printStars 的方法,该方法在一行中打印 n 个星星。例如, printStars(5) 显示 ***** 行。 使用 printStars 方法,编写一个 printTriangle 方法来创建一个星形三角形。例如,printTriangle(5) 应显示:

*

**

(***

(****

(*****

在第二部分中,您应该修改代码,以便显示以下内容:

(*****

(****

(***

**

*

第二部分的解决方案:

public static String printStars(int n) {
if(n == 0) {
return "";
}
return "*" + printStars(n - 1);
}
public static String printTriangle(int n) {
if(n == 0) {
return "";
}
return printStars(n) + "\n" + printTriangle(n - 1);
}
public static void main(String[] args) {
System.out.println(printTriangle(7));
}

我无法解决第一部分的原因是它要求您使用 printStars 方法,所以我不知道如何递归以使每行的星星数量增加。

最佳答案

你已经很接近了,首先在 printTriangle 中递归,然后在 printStars 中递归。另外,为了防止 n 等于 1 时出现空行测试。并且更喜欢 System.lineSeparator() 而不是 \n。就像,

public static String printTriangle(int n) {
if (n <= 0) {
return "";
} else if (n == 1) {
return printStars(1);
}
return printTriangle(n - 1) + System.lineSeparator() + printStars(n);
}

关于java - 使用递归用星形创建三角形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59111484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com