gpt4 book ai didi

java - 我需要获取一个整数数组并将它们打印为金字塔

转载 作者:行者123 更新时间:2023-12-01 14:49:39 24 4
gpt4 key购买 nike

这很简单,但我真的不知道该怎么做。

我已经得到了它,所以它可以工作,但它只适用于大小为 6 的数组,我尝试为其编写 for 循环,但我不确定如何减少每次的空格数大约。也许我的做法是错误的,但这就是我现在所拥有的。

    public static void prettyPrint(int[] numbers) {
System.out.println(" " + numbers[0]);
System.out.println(" " + numbers[1] + " " + numbers[2]);
System.out.println(" " + numbers[3] + " " + numbers[4] + " " + numbers[5]);

}

其中数组编号在上面定义为

    static int[] numbers = { 4, 3, 5, 6, 7, 8 };

最佳答案

您可能想使用循环来实现所需的输出。

首先,思考一下金字塔结构的本质。

金字塔第i行(从顶部算起)可以表示的数字是i。例如,在金字塔的顶部(即 i=第一行),只能显示单个数字。同样,第 5 行显示 5 个数字。

记住这一点,代码可能看起来像这样:

int n = numbers.length;
int idx = 0;
int numRows = 0;

//First, calculate number of rows that pyramid will have
while(idx < n){
numRows++;
for(int numInRow=0; numInRow<numRows; numInRow++){
idx++;
}
}

//Make the pyramid
idx = 0;
for(int i=1; i <= numRows && idx < n; i++){ //Loop # of lines
for(int j=0; j < (numRows-i) ; j++){
System.out.print(" "); //Left pad
}

for(int j=0; j<i; j++){ // Add i many numbers only
System.out.print(numbers[idx++] +" "); //Print
if(idx >= n){
break; //If index exceeds, break
}
}
System.out.println(); //New line
}

关于java - 我需要获取一个整数数组并将它们打印为金字塔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15015315/

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