有朋友给写了一个,但是仔细测试发现不满足要求....
http://community.csdn.net/Expert/topic/5649/5649930.xml?temp=4.087466E-02上面那个连接不满足要求啊...再求~!!
要求如下:有如下字符串,同一条字符串中的字符用','号隔开。不同的一条字符串用';'号隔开。。其形式如下。。
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},......}请大家帮帮忙还有就是有类型与上面的一个二维数组。。怎么转为如上的字符串?谢谢大家了。。
http://community.csdn.net/Expert/topic/5649/5649930.xml?temp=4.087466E-02上面那个连接不满足要求啊...再求~!!
要求如下:有如下字符串,同一条字符串中的字符用','号隔开。不同的一条字符串用';'号隔开。。其形式如下。。
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},......}请大家帮帮忙还有就是有类型与上面的一个二维数组。。怎么转为如上的字符串?谢谢大家了。。
解决方案 »
- 求高手解决关于将Jpanel放到JScrollPanel滑块不出现,下面是我的代码
- java socket 本地运行ok,服务器上运行出错
- java 与c 汉字 ascii问题
- 疑惑 Serializable
- 请教下用RandomAccessFile写文本文件的某一行时比原来大时,覆盖了此行,如何能不覆盖下一行,就只在原来行写入,请大家帮忙,谢谢
- 集合元素排列问题...请高手..
- 初学者弱问!进程同步的问题(生产者-消费者问题)
- 要毕设了,想选Java,各位大虾给点意见呀
- 请高手指点,我要是弄懂,送200分!
- JBuilder7 可以在redhat 下使用吗?
- jar打包java源代码文件(utf-8)之后,在eclipse直接查看,汉字乱码,该怎么解决?
- 想做软件开发,先做软件测试可以么?
最后得出的数组不是double[][]={{1,0,1},{2,1,2},{3,2,4},{4,3,5},......}
而是double[][]={{1,2,3,4,5,6,7},{0,1,2,3,4,5,6},{1,2,4,5,6,7,8}},单步跟踪一下返回的数组装的不是double[][]={{1,0,1},{2,1,2},{3,2,4},{4,3,5},......}
double a[][]=new double[][];
a[m][n]=b[n][m];
public class Test {
public static void main(String[]args)
{
final String str="1,2,3,4,5,6,7;11,22,33,44,55,66,77;111,222,333,444,555,666,777" ;
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] +" ");
}
}
double[][] result1=new double[secSplit[0].length][fistSplit.length] ;
for (int m=0;m<secSplit[0].length ;m++ )
{
for (int n=0;n< fistSplit.length; n++)
{
result1[m][n]=result[n][m];
System.out.print(result1[m][n]+" ");
}
System.out.println();
}
}
}
// 第一步:完整性检查; assert("完整");
final String sep = ";";
String tmp = str.replace(sep, "");
int count = str.length() - tmp.length() + 1;
double[][] result = new double[count][];
int len = str.length();
int FirstDim = 0;
for (int i = 0; i < len;) {
int sepPos = str.indexOf(sep);
result[FirstDim] = new double[sepPos];
for (int j = 0; j < sepPos; j++) {
try {
if (i + 1 > len)
break;
result[FirstDim][j] = Double.parseDouble(str.substring(i,
i + 1));
i += 2;
System.out.println(result[FirstDim][j]);
} catch (NumberFormatException e) {
throw e;
} }
FirstDim++;
}
return result;
} public static void main(String[] args) {
group("1,2,3,4,5,6,7;1,2,3,4;7,8,9");
}}