将用“:”和“,”分割的包含数字字符的字符串“23,21.3,33;34,2,1.9,2.1;3,3.1,3,4,4.9”中的数据解析出来放在一个double类型的二维数组中,以分号分割二维数组的每一行,以逗号分割每行中的各个元素。(利用string的split方法)
时间: 2024-11-25 09:13:57 浏览: 19
PHP和MySQL Web开发第4版pdf以及源码
5星 · 资源好评率100%
为了将给定的字符串"23,21.3,33;34,2,1.9,2.1;3,3.1,3,4,4.9"解析成一个double类型的二维数组,你可以按照以下步骤操作:
1. 首先,你需要使用`split(";")`方法按分号分割字符串,得到一组包含每个行的字符串数组。
2. 然后,遍历这个行数组,对每个内部的行字符串再使用`split(",")`方法按逗号分割,得到单行中的元素列表。
3. 对于每一个元素列表,将其转换为`double`类型并添加到二维数组中。
这是一个示例的Java代码片段来实现这个过程:
```java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
String input = "23,21.3,33;34,2,1.9,2.1;3,3.1,3,4,4.9";
double[][] dataArray = parseStringToDoubleArray(input);
// 打印结果数组
for (double[] row : dataArray) {
System.out.println(Arrays.toString(row));
}
}
public static double[][] parseStringToDoubleArray(String str) {
String[] rows = str.split(";"); // 按分号分割
List<double[]> result = new ArrayList<>();
for (String row : rows) {
double[] elements = row.split(","); // 按逗号分割
double[] rowArray = new double[elements.length];
for (int i = 0; i < elements.length; i++) {
rowArray[i] = Double.parseDouble(elements[i]); // 转换为double类型
}
result.add(rowArray); // 添加到二维数组中
}
return result.toArray(new double[result.size()][]);
}
}
```
运行这段代码后,你会得到一个`double`类型的二维数组,每一行表示原始字符串中的一个子串,元素之间由逗号分隔。
阅读全文