gpt4 book ai didi

java - 完整的星星金字塔

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

给定一个整数 N,打印完整的星号金字塔。

大小为 N 的完整星号金字塔有 N 行星号。第一行有1个星号,第二行有2个星号,第三行有3个星号,依此类推。每个星号之间都有一个空格。每行中的星号都居中,使其看起来像一个金字塔。输入4

   *
* *
* * *
* * * *

输出应该是这样的

import java.util.*;
public class solution {

public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
int n= sc.nextInt();
int i,j,k,r;
r=n;
for(i=1;i<=r;i++){
for(j=1; j<=r; j++){
System.out.print(" ");
}
n--;
for(k=1; k<=i;k++){
System.out.print(" *");
}
System.out.println();
}
}

}

输出不是预期的我的输出是

*
* *
* * *
* * * *

最佳答案

用前置空格填充每行的逻辑应该是向每行添加 N - r -1 个空格,从第一行的 r=0 开始。因此,执行此操作的 for 循环应该是:

for (j=n-1; j >= 1; j--) {
System.out.print(" ");
}

仅进行这个小更改就会产生高度为 5 的以下输出:

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

这是完整更新的代码:

Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int r = n;

for (int i=1; i <= r; i++) {
for (int j=n-1; j >= 1; j--) {
System.out.print(" ");
}
n--;
for (int k=1; k<= i;k++) {
System.out.print(" *");
}
System.out.println();
}

关于java - 完整的星星金字塔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57835303/

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