
本文讲解如何通过修正内层循环的边界条件,使每个数字后跟随与其值相等数量的 '#' 字符,实现如“1# 2## 3###”的逐行递增输出效果。
本文讲解如何通过修正内层循环的边界条件,使每个数字后跟随与其值相等数量的 '#' 字符,实现如“1# 2## 3###”的逐行递增输出效果。
要实现题目要求的输出模式——即对每个数字 i(从 1 到 inputNum),先打印数字 i,再打印 i 个 # 符号,并换行——关键在于内层循环的迭代次数必须与当前外层循环变量 i 保持一致,而非固定为 inputNum。
原代码中内层循环写为:
for (j = inputNum; j >= 1; --j) {
System.out.print("#");
}
这导致无论 i 是 1 还是 5,都重复打印 inputNum 个 #,因此所有行的井号数相同,输出变成 1##### 2##### ...,不符合题意。
✅ 正确做法是:让内层循环以 i 为上限(或下限),例如从 j = 1 到 j ,或从 <code>j = i 递减到 1。两种写法逻辑等价,推荐使用更直观的升序形式:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
import java.util.Scanner;
public class LoopPatterns {
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
int inputNum = scnr.nextInt();
for (int i = 1; i <p>? <strong>注意事项:</strong> </p>
- 外层循环变量
i表示当前行的数字,也直接决定本行#的个数; - 内层循环无需关联
inputNum,否则会破坏“每行数量递增”的逻辑; - 使用
scnr.close()是良好实践,尤其在处理输入流时; - 若需兼容多组输入或后续扩展,可将核心逻辑封装为独立方法,提升可读性与复用性。
运行示例(输入 5):
1# 2## 3### 4#### 5#####
完全符合题目预期。掌握这种“外层控制计数、内层执行重复”的嵌套循环模式,是解决图形打印、模式生成类问题的基础能力。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










