gpt4 book ai didi

java - 如何获得特定形状的数字模式(java)?

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

我想打印这样的数字模式..

但是,我没能得到这个三角形,而且我很困惑如何添加空格来得到这个形状 -->

   1
212
32123
4321234

这是我到目前为止尝试过的代码

public class Ch {

public static void main(String[] args) {
int r =Integer.parseInt(args[0]);
for(int u=1;u<=r;u++)
{
for(int i=u;i>=1;i--)
{
System.out.print(i);
}

for(int i=2;i<=u;i++)
{
System.out.print(i);
}
System.out.println();
}
}
}

此代码的输出如下所示

     1
212
32123
4321234

谢谢

最佳答案

只需在主循环中在其他两步之前再添加一个步骤即可:

for (int i = u; i < r; i++)
{
System.out.print(" ");
}

这将打印空格来弥补“缺失”的数字。

关于 Mateusz 的评论,请查看 this answer关于如何用空格填充数字以使它们等宽以防超过 9:

static int padding;

public static void main(String[] args)
{
int r = Integer.parseInt(args[0]);

padding = Math.max(1, (int) Math.ceil(Math.log10(r)));

for (int u = 1; u <= r; u++)
{
for (int i = u; i < r; i++)
{
print(" ");
}

for (int i = u; i >= 1; i--)
{
print(i);
}

for (int i = 2; i <= u; i++)
{
print(i);
}
System.out.println();
}
}
private static void print(Object text)
{
System.out.print(String.format("%1$" + padding + "s", text));
}

关于java - 如何获得特定形状的数字模式(java)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46222467/

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