如何调整Java代码以打印出指定格式的二维数组元素?
如何调整Java代码以打印出指定格式的二维数组元素?
我来帮你排查下问题~你的数组赋值逻辑是完全正确的,问题出在打印部分的代码逻辑,导致输出格式不符合预期。
先看看你现有代码的问题点:
- 当
j == 0时使用System.out.println(),会让每行的第一个元素单独占一行,之后的System.out.print()又会把同一行的其他元素紧接在后面,格式完全乱了。 - 没有给元素之间添加空格分隔,导致输出的元素连在一起,可读性差。
下面是修正后的代码,完全匹配你想要的输出格式:
System.out.println("Elements in the array: "); int[][] intArr = new int[5][8]; for (int i = 0; i < intArr.length; i++) { for (int j = 0; j < intArr[i].length; j++) { intArr[i][j] = i * 3 + j * 2 - 5; // 判断是否是当前行的最后一个元素 if (j == intArr[i].length - 1) { // 最后一个元素只打印内容,不加多余空格 System.out.print(intArr[i][j]); } else { // 非最后一个元素,打印内容后加空格分隔 System.out.print(intArr[i][j] + " "); } } // 每行元素打印完成后换行 System.out.println(); }
代码说明:
- 去掉了原来错误的
if(j == 0)分支逻辑,改为按顺序打印每行的所有元素。 - 通过判断
j是否为当前行的最后一个下标,控制是否添加空格,避免每行末尾出现多余空格。 - 每行元素全部打印完成后,调用
System.out.println()实现换行,保证每行对应二维数组的一行元素。
运行这段代码后,输出就会和你期望的完全一致啦~
备注:内容来源于stack exchange,提问作者New starters
相关产品推荐
相关产品推荐

