String转二维数组
时间: 2023-10-19 17:36:07 浏览: 326
可以使用Java中的split()函数将字符串转换为二维数组。首先,根据分号将字符串分割为一维数组,然后再根据逗号将每个一维数组拆分为二维数组的元素。下面是一个示例代码:
```
String string_s = "1,2,3,4;5,6,7,8;9,10,11,12";
String[] strings = string_s.split(";");
String[][] stringTwo = new String[strings.length][];for(int i=0; i<strings.length; i++) {
String[] infos = strings[i].split(",");
stringTwo[i = new String = infos[j];
}
}
```
上述代码中,首先使用分号将字符串分割为一维数组。然后,通过循环遍历每个一维数组,再使用逗号将其拆分为二维数组的元素。最后,将每个元素存储在二维数组中。
结果输出如下:
```
<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
相关问题
JavaString转二维数组
### Java字符串转二维数组的方法
在Java中,可以先将字符串按照特定分隔符分割成一维数组,再进一步处理形成二维数组。例如,给定一个多行字符串,每行代表二维数组的一行,而每一行中的元素由逗号或其他字符分隔。
下面是一个简单的例子来展示这一过程[^1]:
假设有一个表示矩阵的字符串 `"1,2;3,4"` ,其中 `','` 分割同一行内的不同列,`;` 则用于区分不同的行。
```java
public class StringTo2DArray {
public static void main(String[] args) {
// 定义输入字符串
String input = "1,2;3,4";
// 将字符串按行拆分成一维数组
String[] rows = input.split(";");
// 初始化二维整型数组
int[][] matrix = new int[rows.length][];
// 遍历各行并将其内容解析为整数放入二维数组中
for (int i = 0; i < rows.length; ++i){
// 对当前行再次切割得到各个数值,并转换为整形存入对应位置
String[] columns = rows[i].split(",");
matrix[i] = new int[columns.length];
for(int j=0;j<columns.length;++j){
matrix[i][j]=Integer.parseInt(columns[j]);
}
}
// 打印结果验证正确性
System.out.println("Converted 2D Array:");
for (var row : matrix){
for(var element : row){
System.out.print(element+" ");
}
System.out.println();
}
}
}
```
上述代码实现了从指定格式的字符串到二维整型数组的转换,并打印出了最终的结果以供检验[^1]。
Gson将String转为二维数组并循环判断第一列为0,将第二列乘100再放入二维数组
假设你的字符串是以下格式的二维数组:
```
String json = "[[1,2],[0,4],[1,3],[0,6]]";
```
你可以使用 Gson 将其转换为一个 `JsonElement` 对象,然后再通过 `Gson` 对象将其转换为一个二维数组:
```java
Gson gson = new Gson();
JsonElement element = gson.fromJson(json, JsonElement.class);
if (element.isJsonArray()) {
JsonArray jsonArray = element.getAsJsonArray();
int[][] array = new int[jsonArray.size()][2];
for (int i = 0; i < jsonArray.size(); i++) {
JsonArray subArray = jsonArray.get(i).getAsJsonArray();
array[i][0] = subArray.get(0).getAsInt();
array[i][1] = subArray.get(1).getAsInt();
if (array[i][0] == 0) {
array[i][1] *= 100;
}
}
}
```
这里使用了 `JsonElement` 对象来接受转换后的结果,因为我们不确定它是否是一个数组。如果是一个数组,我们就可以强制转换为 `JsonArray` 对象,并对其中的每个子数组进行处理。最后,我们将每个子数组的第一列与 `0` 进行比较,如果相等,我们就将第二列乘以 `100`。
阅读全文
相关推荐














