日期:2014-05-20  浏览次数:20780 次

如何进行二维数组和String的互相转换
字符串格式是 "1;2;3; ",也有可能是 "1,2;2,3;4,5; "现在要把字符串转为一个二维数组。。如果是第一种情况,则转为{{1},{2},{3}}如果是第2种情况则转为{{1,2},{2,3},{4,5}}。。请高手指点。。

------解决方案--------------------
还是如果是个字符串AABB也换成二维数组
------解决方案--------------------
lz可以用一下scanner这个类,先去看看文档吧,有可能对你有帮助
------解决方案--------------------
StringTokenizer t=new StringTokenizer(str, ": ");// ": "为分隔符,str是你的字符窜!
while(t.hasMoreTokens()){//这样就能可以分开字符串!!
------解决方案--------------------
String[] arr1 = "1,2;2,3;4,5; ".split( "; ");
String[][] result = new String[arr.length][];
for(int i = 0; i < arr.length; i++){
result[i] = arr1[i].split( ", ");
}
感觉可以,没有环境试
------解决方案--------------------
public static void main(String[] args) {
  String str = "1;2;3;4;5; ";
  String[] strs = str.split( "; ");
  int m = strs.length;
  int n = strs[0].split( ", ").length;
  
  double[][] num = new double[m][n];
  for (int i = 0; i < m; i++) {
    String[] tmp = strs[i].split( ", ");
    for (int j = 0; j < n; j++) {
      num[i][j] = Double.parseDouble(tmp[j]);
    }
  }

  for (int i = 0; i < m; i++) {
    for (int j = 0; j < n; j++) {
      System.out.printf( "%6.2f ", num[i][j]);
    }
    System.out.println();
  }
}

不知道是不是这个意思