Java实现指定连续数字图案打印 嵌套循环代码错误修正
核心错误点
你的代码存在3个不符合要求的问题:
- 外层循环边界错误:循环条件写为
i <= a会多输出1行,题目仅要求输出a行,行索引范围是0到a-1,外层循环应使用i < a作为终止条件 - 内层循环范围错误:循环条件写为
j < a、j从i开始计数,会导致每行输出的数字个数逐行减1,不符合每行固定a个数字的要求,内层循环应固定执行a次 - 输出规则不匹配:一是打印时额外拼接了空格,导致数字间出现多余间隔;二是没有实现数字超过9时取个位的模10逻辑,无法正确输出a≥6时末尾回绕到0的场景
修正后的Java实现代码
// 假设输入整数a已经提前获取 for (int i = 0; i < a; i++) { // 每行固定输出a个连续数字 for (int offset = 0; offset < a; offset++) { // 第i行起始数字为i,连续递增offset位,超过9取个位 int currentNum = (i + offset) % 10; System.out.print(currentNum); } // 一行打印完成后换行 System.out.println(); }
逻辑校验
以输入a=6为例验证输出:
- 第0行(i=0):依次输出(0+0)%10到(0+5)%10 → 012345
- 第5行(i=5):依次输出(5+0)%10到(5+5)%10 → 567890
完全匹配题目给出的所有样例输出要求。
内容的提问来源于stack exchange,提问作者KZukic
相关产品推荐
相关产品推荐

