gpt4 book ai didi

java - 如何向后打印数字以使输出图案像三角形

转载 作者:行者123 更新时间:2023-11-30 06:04:47 25 4
gpt4 key购买 nike

我必须编写一个程序,以便它打印如下所示的三角形:

如果用户给出输入 3,则输出应为:

  3
23
123

如果用户给出输入 4,则输出应为:

   4
34
234
1234

所以我写了以下代码:

Scanner sc=new Scanner(System.in);
System.out.println("Enter number of rows");
int row=sc.nextInt();

for(int maincount=1; maincount<=row;maincount++){
for(int spcount=1;spcount<=row-maincount;spcount++){
System.out.print(" ");
}
//int numprint=row;
for(int numcount=1;numcount<=maincount;numcount++){
System.out.print(/*numprint*/numcount);
//numprint--;
}
System.out.println("");
}

但是代码的输出是这样的:如果我输入3:

  1
12
123

它看起来非常接近输出,因此尝试找出问题

我使用了另一个变量“numprint”而不是“numcount”。 (我注释掉了我使用numprint的部分);但这一次的输出是:

  3
32
321

我提出的替代方案找不到任何可以显示与所需输出类似的输出的可行解决方案。

最佳答案

我想这就是你想要的:

Scanner sc=new Scanner(System.in);
System.out.println("Enter number of rows");
int row=sc.nextInt();

for (int i=1; i<row+1; i++) {
for (int j=1; j<row+1; j++) {
if (j > row - i) {
System.out.print(j);
} else {
System.out.print(" ");
}
}
System.out.println();
}

使用 i 的外部迭代确保了两件事:

  • 使用内部迭代打印数字序列
  • 使用System.out.println();跳转到下一行

使用j的内部迭代确保只打印数字序列。关键是确定打印空格""还是数字。 j > row - i 是条件。

关于java - 如何向后打印数字以使输出图案像三角形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51570882/

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