Java中如何将指定格式字符串转换为String[][]类型的矩阵
你当前的问题核心有两处:
- 方法返回值类型定义错误,你声明的返回值是
String[]一维数组,实际需要返回String[][]二维数组 - 你用
Arrays.toString()将每行拆分得到的字符串数组转换成了单个拼接字符串,自然只能存入一维数组中
修正后的代码如下:
import java.util.Arrays; public static String[][] buildFrom(String s) { // 按换行拆分所有行 String[] lines = s.split("\\r?\\n"); // 初始化二维数组,行数等于拆分得到的行数 String[][] matrix = new String[lines.length][]; for (int i = 0; i < lines.length; i++) { // 每行按空白符拆分后直接赋值给二维数组对应行,无需转成字符串 matrix[i] = lines[i].split("\\s+"); } return matrix; }
调用该方法处理示例输入s = "1 2\n3 4",得到的String[][]结果结构为[["1","2"],["3","4"]],完全符合二维矩阵的结构要求。如果后续需要转成整数矩阵,遍历每个元素执行Integer.parseInt()转换即可。
内容的提问来源于stack exchange,提问作者Thibaultofc
相关产品推荐
相关产品推荐

