gpt4 book ai didi

java - 我怎样才能在java中修复这个星星金字塔

转载 作者:行者123 更新时间:2023-12-01 17:45:27 24 4
gpt4 key购买 nike

我必须通过用户输入打印星星金字塔,用户输入:有多少行,多少列。我用 1 颗星注视,并在每次迭代时将星星增加 2,并将行减 1。我无法确定我必须做多少个空格。

我必须做什么:示例:

printStars(4,2) rows = 4 , columns = 2.
output :

* *
*** ***
***** *****
******* *******

printStars(3,3) rows= 3 , columns =3.
output :

* * *
*** *** ***
***** ***** *****

printStars(3,4) rows = 3 , columns =4.
output:
* * * *
*** *** *** ***
***** ***** ***** *****

代码:

private static void printStars(int rows, int columns ) {

int stars = 1;

while (rows > 0) {

int spaces = rows;

for (int i = 1; i <= columns; i++) {


for (int sp = spaces; sp >=1; sp--) {
System.out.print(" ");
}
for (int st = stars; st >= 1; st--) {
System.out.print("*");
}

}
System.out.println();
stars += 2;
rows--;

}

}

我得到什么:


printStars(3,4)
output:
* * * *
*** *** *** ***
***** ***** ***** *****

最佳答案

乍一看,您似乎没有考虑打印星星之后出现的空间。尝试修改代码如下:

private static void printStars(int rows, int columns)
{

int stars = 1;

while (rows > 0) {

int spaces = rows;

for (int i = 1; i <= columns; i++) {

for (int sp = spaces; sp >= 1; sp--) {
System.out.print(" ");
}
for (int st = stars; st >= 1; st--) {
System.out.print("*");
}
for (int sp = spaces; sp >= 1; sp--) {
System.out.print(" ");
}
}
System.out.println();
stars += 2;
rows--;
}
}

关于java - 我怎样才能在java中修复这个星星金字塔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55900857/

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