【发布时间】:2016-09-03 10:51:12
【问题描述】:
我得到一个字符串并将其转换为二维数组。
给出的字符串是*23**23412341_3*
我编写的将其转换为二维数组的代码是:
public String[][] str2arr(String str)
{
String[] rows = str.split("(?<=\\G....)"); // split the string at every 4th character
String[][] matrix = new String[rows.length][];
int r = 0;
for (String row : rows)
{
matrix[r++] = row.split("(?<=\\G.)"); // split each of the string of each row
}
return matrix;
}
这段代码给出的结果类似于[[*, 2, 3, *], [*, 2, 3, 4], [1, 2, 3, 4], [1, _, 3, *]]
我已将其格式化为
*23*
*234
1234
1_3*
使用此代码:
public void printMatrix(String[][] x)
{
for (int i=0; i < x.length; i++)
{
for (int j=0; j<x[0].length; j++)
{
System.out.print(x[i][j] + "");
}
System.out.print("\n");
}
}
但是现在我得到了第二个字符串,需要在矩阵的一侧(右侧)显示它,而不是在第一个矩阵的底部。
*23* *23*
*234 *234
1234 1234
1_3* 1_3*
这可能吗?如果没有,为什么不呢?如何更新此代码,以便实现我的目标。
【问题讨论】:
标签: java arrays matrix multidimensional-array formatting