有如下字符串,同一条字符串中的字符用','号隔开。不同的一条字符串用';'号隔开。。其形式如下。。
1,2,3,4,5,6,7;0,1,2,3,4,5,6;1,2,4,5,6,7,8;........
现在想转为如下的double[][]
用';'把字符串分割后,
1,2,3,4,5,6,7
0,1,2,3,4,5,6
1,2,4,5,6,7,8
把每个字符串的第一个字符放在放到double[][]中的第一个,把每个字符串的第二个字符放在放到double[][]中的第二个一直到最后一个。。
形成的double[][]如下。。
double[][]={{1,0,1},{2,1,2},{3,2,4},{4,3,5},......}请大家帮帮忙还有就是有类型与上面的一个二维数组。。怎么转为如上的字符串?谢谢大家了。。
1,2,3,4,5,6,7;0,1,2,3,4,5,6;1,2,4,5,6,7,8;........
现在想转为如下的double[][]
用';'把字符串分割后,
1,2,3,4,5,6,7
0,1,2,3,4,5,6
1,2,4,5,6,7,8
把每个字符串的第一个字符放在放到double[][]中的第一个,把每个字符串的第二个字符放在放到double[][]中的第二个一直到最后一个。。
形成的double[][]如下。。
double[][]={{1,0,1},{2,1,2},{3,2,4},{4,3,5},......}请大家帮帮忙还有就是有类型与上面的一个二维数组。。怎么转为如上的字符串?谢谢大家了。。
再用Double.valueOf(String s)获取 double[][]
String[] fistSplit = str.split(";");
String[][] secSplit = new String[fistSplit.length][] ;
int maxW = 0 ;
for(int i=0 ; i<fistSplit.length ; i++){
secSplit[i] = fistSplit[i].split(",") ;
maxW = secSplit[i].length;
if (i!=0){
if (maxW != (secSplit[i-1]).length){
//throws OriginalDataNotRightException;
System.out.println("原始数据不标准!");
break;
}
}
}
double[][] result = new double[fistSplit.length][secSplit[0].length] ;
for(int i=0 ; i<secSplit[0].length ;i++){
for(int j=0 ; j<fistSplit.length ;j++){
result[j][i] = Double.valueOf(secSplit[j][i]);
System.out.printf(result[j][i] +" ");
}
System.out.println();
}
}