如何实现按自身数值重复输出数字序列(修复起始值异常)
问题分析与修复
问题出在内层循环的逻辑上:当前内层循环从startNum开始到o,循环执行次数是o - startNum + 1次,而非数字o本身的数值次数。比如startNum=3、o=3时,循环仅执行1次,所以只输出1个3,而非期望的3个。
修复后的代码
将内层循环的起始值改为1,确保循环执行o次:
for (int o = startNum; o <= endNum; o++) { total += o; // 修改内层循环起始值为1,循环o次 for(int row = 1; row <= o; row++) { System.out.print(o); } System.out.println(); }
也可以用更简洁的计数器写法:
for (int o = startNum; o <= endNum; o++) { total += o; for(int i = 0; i < o; i++) { System.out.print(o); } System.out.println(); }
验证效果
当startNum=3、endNum=7时,输出将符合预期:
333 4444 55555 666666 7777777
内容的提问来源于stack exchange,提问作者Cedrick Balagtas
相关产品推荐
相关产品推荐

