Java 将字符串转换为二维双数组

Java 将字符串转换为二维双数组,java,arrays,string,multidimensional-array,Java,Arrays,String,Multidimensional Array,我想将字符串转换为二维双数组。我的字符串是:-34.17141334413566、148.1231689453125、-34.371148707267096、149.0130615234375、-34.475366823896806147.919921875。结果是 double[3][3]y={-34.17141334413566,148.1231689453125},{-34.371148707267096149.0130615234375},{-34.475366823896806147.

我想将字符串转换为二维双数组。我的字符串是:-34.17141334413566、148.1231689453125、-34.371148707267096、149.0130615234375、-34.475366823896806147.919921875。结果是
double[3][3]y={-34.17141334413566,148.1231689453125},{-34.371148707267096149.0130615234375},{-34.475366823896806147.919921875}。我是java新手。请帮助任何人,提前谢谢。

如果我理解这个问题,你想转换字符串文本文件中的doubles数据,扫描器

您可以使用基于此的内容:

Double[] array = new Double[2];
String s = "-34.17141334413566, 148.12316894531252";

String[] stringArray = s.split(",");
array[0] = Double.parseDouble(stringArray[0].trim());
array[1] = Double.parseDouble(stringArray[1].trim());
小心使用Double.parasedoublestring和他的异常

如果我不明白这个问题,对不起


编辑:当然,我的示例是一维数组,请对第二个维度使用不同的字符拆分器。

试试这个:str是您的输入

String str = "(-34.17141334413566, 148.1231689453125)," +
            "(-34.371148707267096, 149.0130615234375)," +
            "(-34.475366823896806, 147.919921875)";
str = str.replace("(", "");
String[] rows = StringUtils.split(str, "),");
double[][] doubles = new double[rows.length][StringUtils.split(rows[0], ", ").length];
for (int i = 0; i < rows.length; i++)
{
    String[] cols = StringUtils.split(rows[i], ", ");
    for (int j = 0; j < cols.length; j++)
    {
        cols[j] = cols[j].replace(")", "");
        doubles[i][j] = Double.parseDouble(cols[j]);
    }
}

确保至少有一行检查它。StringUtils是一个Apache Commons对象,从这里免费获取它的JAR:

你的字符串是什么?!请提供示例字符串和预期结果请告诉我们如何将-34.17141334413566148.1231689453125转换为1,2,3?!应该编辑一件事:String[]rows=StringUtils.splitstr,;应该类似于String[]rows=StringUtils.splitstr;否则,所有代码都可以。非常感谢您的帮助。感谢您的回复: