哪位dx帮我解释一下下面红色字体的条件,先谢谢啦!
public class testSplit {
public static void main(String[] args){
double d[][];
String s="1,2;3,4,5;6,7,8";
String[] arrFirst=s.split(";");
d=new double[arrFirst.length][];
for(int i=0;i<arrFirst.length;i++){
String[] arrSecond=arrFirst[i].split(",");
d[i]=new double[arrSecond.length];
for(int j=0;j<arrSecond.length;j++){//一般将arrSecond.length换成d[i].length
d[i][j]=Double.parseDouble(arrSecond[j]);
System.out.println("d["+i+"]["+j+"]="+d[i][j]);
}
System.out.println(arrSecond.length);
}
}
}
运行结果:
d[0][0]=1.0
d[0][1]=2.0
2
d[1][0]=3.0
d[1][1]=4.0
d[1][2]=5.0
3
d[2][0]=6.0
d[2][1]=7.0
d[2][2]=8.0
3

解决方案 »

  1.   

    zhe me gao ji de wen ti 
      

  2.   

    public class testSplit { 
    public static void main(String[] args){ double d[][]; //多(二)维数组就是可以理解为一个一维数组中存放这一个数组
    String s="1,2;3,4,5;6,7,8"; String[] arrFirst=s.split(";"); 
    d=new double[arrFirst.length][]; //第一个数组长度为3for(int i=0;i <arrFirst.length;i++){ String[] arrSecond=arrFirst[i].split(","); d[i]=new double[arrSecond.length];//就是数组中的数组长度不一for(int j=0;j <arrSecond.length;j++){//一般将arrSecond.length换成d[i].length 
    //这里没什么好解释的啊, split根据正则把[1,2],[3,4,5],[6,7,8] 这时候通过arrSecond.length得到各自的长度
     //再分拆,再遍历 ,输出!!!!d[i][j]=Double.parseDouble(arrSecond[j]);
     
    System.out.println("d["+i+"]["+j+"]="+d[i][j]); 

    System.out.println(arrSecond.length); 


      

  3.   

    其实就是遍历二维数组,两次循环嘛,比如你创建了一个二维数组叫a[][]:for(int i=0; i<a.length; i++)
       for(int j=0; j<a[i].length; j++)
          System.out.println(a[i][j]);
      

  4.   

    arrSecond.length就是拆分后字符串的长度,循环第一次是2,第二次是3,第三次是3