求助!!把字符串放到二维数组(double类型)中,结果为什么是这样?

package com.string;

public class Array {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    String s = "1,2;3,4,5;6,7,8";
    String[] str = s.split(";");
     String[][] str2 = new String[str.length][];
     double a[][] = new double[str2.length][];
    for(int i=0; i<str.length; i++) {
        str2[i] = str[i].split(",");
    }
    for(int i=0; i<a.length; i++) {
        a[i] = new double[str2[i].length];
        for(int j =0; j<a[i].length; j++) {
            //a[i][j] = Integer.parseInt(str2[i][j]);
            //System.out.print(a[i][j] + ' ');
            //System.out.print(str2[i][j] + " ");
            a[i][j] = Double.parseDouble(str2[i][j]);
            System.out.println(a[i][j] + ' ');
        }
        System.out.println();
    }
}

}
图片说明

这是很正常的

    @Test
    public void test4(){
        char c=' ';
        System.out.println((int)c);
    }

用这个简单的方法,你可以看到 空格的ascii码为32 你的数组第一个元素为1,加起来自然输出33了.解决办法是把' '换成" "