2 u012251961 u012251961 于 2014.01.15 15:48 提问

学习java二位数组遇到的问题

public class TestSplit {
public static void main(String[] args){
String s="1,2;3,4;5,6,7";
String[] s1=s.split(";");
double[][] d=new double[s1.length][];//第一维的长度赋值
for(int i=0;i<s1.length;i++){
String[] s2=s1[i].split(",");
d[i]=new double[s2.length];//不明白
for(int j=0;j<s2.length;j++){
d[i][j]=Double.parseDouble(s2[j]);
}
}
for(int i=0;i<d.length;i++){
for(int j=0;j<d[i].length;j++){
System.out.print(d[i][j]+" ");
}System.out.println();
}
}
}
问题:第二维长度赋值的地方 格式不是很明白
这个d[i] 怎么知道i是第二维的呢
问题可能有点白痴,还是给我弄迷糊了 希望能帮助解答一下 谢谢

1个回答

guangzhanzb
guangzhanzb   2014.01.17 16:17

很简单,java的二维数组你就想象成一个一维数组的每个元素又指向了一个一维数组。

d[i]就是一维数组的第i个,因为它指向了二维数组,所以就知道了i是第二维的。

你上面的程序可以看成d指向了一个一维数组(二维数组中的第一维),第一维数组中的每个元素又指向了一个一维数组(二维数组中的第二维)。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!