我正在试图弄清楚如何在一条sigle线上显示多维数组的同一“行”中的每个数字,并用逗号分隔它们。
这是我宣布多维数组的方式
int[][] grid = {
{1, 2, 3},
{4},
{5, 6},
{123, 4567, 78901, 234567}
};
这是我用来在单独的一行上显示每个“行”的循环,其中包含逗号:
for(int[] row: grid){
for(int col: row){
System.out.print(col + ", ");
}
System.out.println();
}
或者:
for(int row = 0; row < grid.length; row++){
for(int col = 0; col < grid[row].length; col++){
System.out.print(grid[row][col] + ", ");
}
System.out.println();
}
一切正常,但每个“行”的最后一个数字也会得到逗号,结果:
1, 2, 3,
4,
5, 6,
123, 4567, 78901, 234567,
如何才能使最后一个数字不能得到逗号?
答案 0 :(得分:1)
很简单,很容易,你可以做到:
for(String s : Arrays.deepToString(grid).split("(?<=]), "))
{
System.out.println(s.replaceAll("[\\]\\[]",""));
}
下面:
Arrays.deepToString
将以String形式返回数组。.split("(?<=]), ")
会将其拆分为1-d数组(grid
)结束的位置。s.replaceAll("[\\]\\[]","")
将删除[
]
和Arrays.deepToString