21xrx.com
2024-09-19 10:10:34 Thursday
登录
文章检索 我的文章 写文章
如何用Java将字符串转化为二维数组?
2023-06-16 13:05:23 深夜i     --     --
Java 字符串 二维数组 转化 分割 列数 赋值

在Java编程中,有时候需要将一个字符串转化为二维数组来进行进一步的处理。这个过程可能看起来有些麻烦,但实际上只需要几行代码即可完成。在本文中,我们将介绍如何使用Java将字符串转化为二维数组,并提供一些实用的代码示例。

首先,我们需要将字符串以某种方式分离成行和列。常见的做法是将字符串按回车符分割成行,再根据列之间的分隔符分割成列。这里提供一个示例代码,可以将包含“;”分隔符的字符串转化为二维数组:


String inputString = "aaa;bbb;ccc\n111;222;333\n";

String[] rows = inputString.split("\n");

String[][] matrix = new String[rows.length][];

for (int i = 0; i < rows.length; i++) {

 matrix[i] = rows[i].split(";");

}

上述代码首先将输入字符串按回车符分隔为行,然后按“;”分隔为列,最终生成一个二维数组。需要注意的是,此方法生成的数组中每一行的列数可能不同,需要进行后续处理。

如果要求生成的二维数组每个元素的长度相同,可以先查找列数最多的那一行,然后在创建二维数组时指定列数。示例代码如下:


String inputString = "aaa;bbb;ccc\n111;222;333\n66;77";

String[] rows = inputString.split("\n");

int maxColumns = 0;

for (String row : rows) {

 maxColumns = Math.max(maxColumns, row.split(";").length);

}

String[][] matrix = new String[rows.length][maxColumns];

for (int i = 0; i < rows.length; i++) {

 String[] cols = rows[i].split(";");

 for (int j = 0; j < cols.length; j++) {

  matrix[i][j] = cols[j];

 }

}

上述代码查找了输入字符串中列数最多的那一行,记为maxColumns,然后按照此列数创建了二维数组。接着将每一行的元素赋值到二维数组中。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复