问题描述
- 学习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是第二维的呢
问题可能有点白痴,还是给我弄迷糊了 希望能帮助解答一下 谢谢
解决方案
很简单,java的二维数组你就想象成一个一维数组的每个元素又指向了一个一维数组。
d[i]就是一维数组的第i个,因为它指向了二维数组,所以就知道了i是第二维的。
你上面的程序可以看成d指向了一个一维数组(二维数组中的第一维),第一维数组中的每个元素又指向了一个一维数组(二维数组中的第二维)。
时间: 2025-01-30 04:03:12