Java遍历二维数组时如何让j仅打印一次而非重复输出三次
问题原因
现有代码的双层循环逻辑为外层遍历二维数组的每一行(你传入的测试数组共有3行),每一行都会单独遍历一次当前行的所有列索引j并打印,因此最终会输出3次0123。
解决方案
如果你需要仅打印一次列索引序列,直接将列索引打印逻辑移出外层行循环即可,修改后代码如下:
public static void berechneSterneProSpalte(char[][] arr) { // 增加空校验避免空指针异常 if(arr == null || arr.length == 0) { return; } // 仅遍历一次列索引并打印 for(int j = 0; j < arr[0].length; j++) { System.out.print(j); } System.out.println(); // 若你原本还有遍历每行的业务逻辑,可保留下方的行循环 for(int i = 0; i<arr.length; i++) { // 此处放你原本要处理每行元素的业务代码,删除原本内层循环的j打印逻辑即可 } }
如果你的二维数组是不规则数组(每行的列数不相同),可以先遍历所有行拿到最大列数,再按最大列数打印索引即可。
修改后运行结果为:
Aufgabenteil b: 0123
内容的提问来源于stack exchange,提问作者MoinMarcell
相关产品推荐
相关产品推荐

