gpt4 book ai didi

java - 如何编写一个输出三角形数字的java程序?

转载 作者:行者123 更新时间:2023-12-01 15:07:05 28 4
gpt4 key购买 nike

我知道有一篇与此类似的帖子,但根据答案,我无法将答案应用于我当前的类(class),也无法理解其余答案。

我需要使用嵌套的“for 循环”创建一个程序,该程序创建像这样的输出(只是对称的)。我已经花了整整两个晚上的时间试图让它工作,但无法弄清楚......

               1 
1 2 1
1 2 4 2 1
1 2 4 8 4 2 1
1 2 4 8 16 8 4 2 1
1 2 4 8 16 32 16 8 4 2 1
1 2 4 8 16 32 64 32 16 8 4 2 1
1 2 4 8 16 32 64 128 64 32 16 8 4 2 1

我将非常感谢任何帮助!!!

public class PyramidOfDoom { 
public static void main(String[] args)
int k = 2;
int totalWidth = 8;
for (int row = 1; row <= totalWidth; row++) {
for (int col = 1; col <= totalWidth; col++) {
if (col <= totalWidth - row) {
System.out.print(" ");
} else {
System.out.print(k);;
}
}
System.out.println();
}
}
}

最佳答案

我认为可以通过简单的步骤来完成: 1. 打印前导空格 2. 打印递增数字 3. 打印递减数字 4. 打印尾随空格 5 打印新行。

示例代码(概念)如下。

    int row = 10;
for(int i=1; i<=numRow ; i++){
int num = 1;
for(int j=0; j<numRow- i; j++ ){
System.out.print(" ");
}
for(int j=numRow-i+1; j<=numRow ; j++ ){
System.out.print(num+" ");
num=num*2;
}
num=num/2;
for(int j=numRow+1; j<numRow+i; j++ ){
num=num/2;
System.out.print(num+" ");
}
for(int j=numRow+i+1; j<=numRow*2; j++ ){
System.out.print(" ");
}
System.out.print("\n");
}

关于java - 如何编写一个输出三角形数字的java程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12830616/

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