5 个解决方案
#1
二维数组可以定义成一个不规则数组,行数是固定的,每行的列数不固定
#2
public class Test {
public static void main(String[] args) {
System.out.println("he said:\" I fall in love with her! \".");
}
}
#3
定义数组时对第一维的长度可以不指定,但第二维的长度不能省,因为系统会根据总个数和第二维的长度计算出第一维的长度
其实你可以这样理解
因为二维数组是由若干个一维数组组成的,在内存中数组是按行存放的,因此,在定义二维数组时必须指定列数。
其实你可以这样理解
因为二维数组是由若干个一维数组组成的,在内存中数组是按行存放的,因此,在定义二维数组时必须指定列数。
#4
我个人的理解:
这种情况可以看成一个长度为5的一维数组a,a的元素类型定义为数组对象,但是对象数组里面存的并不是对象本身,而是对象的引用,所以在创建这个长度为5的一维数组a的时候,其内部的数组元素并不需要实例化,那么也就不需要指定长度,只有在需要往a这个一维数组内部填充数组元素的时候,这个时候填充进去的数组才是需要实例化的,需要指定长度的。从这点分析,填充进去的数组的长度其实并不是唯一的,因为不管填进去的数组的长度是多少,终归他们都是数组类型,并不违反java语法。
综上,声明一个二维数组,只需要指定第一个长度就可以了。
这种情况可以看成一个长度为5的一维数组a,a的元素类型定义为数组对象,但是对象数组里面存的并不是对象本身,而是对象的引用,所以在创建这个长度为5的一维数组a的时候,其内部的数组元素并不需要实例化,那么也就不需要指定长度,只有在需要往a这个一维数组内部填充数组元素的时候,这个时候填充进去的数组才是需要实例化的,需要指定长度的。从这点分析,填充进去的数组的长度其实并不是唯一的,因为不管填进去的数组的长度是多少,终归他们都是数组类型,并不违反java语法。
综上,声明一个二维数组,只需要指定第一个长度就可以了。
#5
很简单定义二维数组的声明没办法给每一行初始化一个列数咯。但是你可以轻易地初始化需要多少行。
当需要声明每一行列数的时候,你需要 a[0] = new char[element_num];
或者 a[0] = {'a', 'b', 'c'}
当需要声明每一行列数的时候,你需要 a[0] = new char[element_num];
或者 a[0] = {'a', 'b', 'c'}
#1
二维数组可以定义成一个不规则数组,行数是固定的,每行的列数不固定
#2
public class Test {
public static void main(String[] args) {
System.out.println("he said:\" I fall in love with her! \".");
}
}
#3
定义数组时对第一维的长度可以不指定,但第二维的长度不能省,因为系统会根据总个数和第二维的长度计算出第一维的长度
其实你可以这样理解
因为二维数组是由若干个一维数组组成的,在内存中数组是按行存放的,因此,在定义二维数组时必须指定列数。
其实你可以这样理解
因为二维数组是由若干个一维数组组成的,在内存中数组是按行存放的,因此,在定义二维数组时必须指定列数。
#4
我个人的理解:
这种情况可以看成一个长度为5的一维数组a,a的元素类型定义为数组对象,但是对象数组里面存的并不是对象本身,而是对象的引用,所以在创建这个长度为5的一维数组a的时候,其内部的数组元素并不需要实例化,那么也就不需要指定长度,只有在需要往a这个一维数组内部填充数组元素的时候,这个时候填充进去的数组才是需要实例化的,需要指定长度的。从这点分析,填充进去的数组的长度其实并不是唯一的,因为不管填进去的数组的长度是多少,终归他们都是数组类型,并不违反java语法。
综上,声明一个二维数组,只需要指定第一个长度就可以了。
这种情况可以看成一个长度为5的一维数组a,a的元素类型定义为数组对象,但是对象数组里面存的并不是对象本身,而是对象的引用,所以在创建这个长度为5的一维数组a的时候,其内部的数组元素并不需要实例化,那么也就不需要指定长度,只有在需要往a这个一维数组内部填充数组元素的时候,这个时候填充进去的数组才是需要实例化的,需要指定长度的。从这点分析,填充进去的数组的长度其实并不是唯一的,因为不管填进去的数组的长度是多少,终归他们都是数组类型,并不违反java语法。
综上,声明一个二维数组,只需要指定第一个长度就可以了。
#5
很简单定义二维数组的声明没办法给每一行初始化一个列数咯。但是你可以轻易地初始化需要多少行。
当需要声明每一行列数的时候,你需要 a[0] = new char[element_num];
或者 a[0] = {'a', 'b', 'c'}
当需要声明每一行列数的时候,你需要 a[0] = new char[element_num];
或者 a[0] = {'a', 'b', 'c'}