gpt4 book ai didi

java - java中的数字金字塔

转载 作者:行者123 更新时间:2023-12-01 18:05:58 25 4
gpt4 key购买 nike

我是 Java 编程的初学者,我想打印一个如图所示的金字塔:

enter image description here

我已经有了金字塔(没有数字)(x是用户想要的行数)任何帮助都是好的!

for (int i=1; i<(2*x+1); i += 2)
{
for (int k=0; k < ((x-1) - i / 2); k++)
{
System.out.print(" ");
}
for (int j=0; j<i; j++)
{
System.out.print(x);
}
System.out.println("");
}

最佳答案

如果您创建一个单独的方法来打印每一行和单元格,然后使用 if 语句来确定要打印的内容,那么编写和读取可能会更简单一些。 cell 方法封装了打印内容的所有逻辑。

for (int i = 0; i < size; i++)
System.out.println(line(i, size));

private String line(int row, int size) {
StringBuilder line = new StringBuilder();
for (int col = 0; col < size * 2 + 1; col++) {
line.append(cell(row, col, size));
}
return line;
}

或者如果您使用的是 Java 8:

return IntStream.range(0, size * 2 + 1)
.map(col -> cell(row, col, size)).collect(Collector.joining())))

最后是为每个位置选择字符的方法:

private String cell(int row, int col, int size) {
int offset = size - col;
if (offset == row)
return "0";
else if (offset > row)
return " ";
else if (row == size - 1)
return "0";
else
return row;
}

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

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