如何修改Java代码实现指定格式的倒半金字塔输出?
问题描述
需要打印如下格式的倒半金字塔:
1111 222 33 4
当前使用的Java代码如下:
public class HW5 { //5. Print Inverted Half Pyramid. public static void main(String[] args) { int n = 4; for (int i = n; i >= 1; i--) { for (int j = 1; j <= i; j++) { System.out.print(i); } System.out.println(); } } }
但上述代码的输出结果为:
4444 333 22 1
请问如何修改代码以得到所需的输出格式?
修改方案
问题核心是外层循环变量的使用逻辑:当前代码用递减的i直接打印,导致输出从4开始。只需调整打印的数字计算方式,让每行的数字从1递增即可。
方案一:修改打印的数字表达式
将System.out.print(i)改为System.out.print(n - i + 1),这样当i=4时计算得1,i=3时计算得2,以此匹配目标序列:
public class HW5 { //5. Print Inverted Half Pyramid. public static void main(String[] args) { int n = 4; for (int i = n; i >= 1; i--) { for (int j = 1; j <= i; j++) { System.out.print(n - i + 1); } System.out.println(); } } }
方案二:调整外层循环逻辑
让外层循环i从1递增到4,同时控制每行打印的字符数为n - i + 1,直接用i作为打印数字:
public class HW5 { //5. Print Inverted Half Pyramid. public static void main(String[] args) { int n = 4; for (int i = 1; i <= n; i++) { for (int j = 1; j <= n - i + 1; j++) { System.out.print(i); } System.out.println(); } } }
两种方案都能输出目标格式的倒半金字塔。
内容的提问来源于stack exchange,提问作者Md. Fattah Al Fahim
相关产品推荐
相关产品推荐

