我有一个我不明白的问题(可能很容易解决)。
int[] numbers;
numbers[0] = 0;
当我调试时,第二行出现错误:
“使用未分配的局部变量”
我该如何摆脱它?
我有一个我不明白的问题(可能很容易解决)。
int[] numbers;
numbers[0] = 0;
当我调试时,第二行出现错误:
“使用未分配的局部变量”
我该如何摆脱它?
您应该首先创建/初始化一个特定长度/大小的数组。
int[] numbers = new int[lenghtOfArray];
其中lengthOfArray
是一个整数,表示数组的长度/大小。
然后您可以使用它们的索引访问数组中的项目,就像您在此处所做的那样:
numbers[0] = 0;
您将数字 0 设置为数组中的第一项,在索引为 0 的位置。
局部变量没有被赋予默认值,并且必须在读取之前进行初始化,并且编译器会抱怨,因为您使用的是未分配的局部变量。
但是,您的代码的真正问题是必须在使用之前创建/实例化数组。
您可以像创建任何其他对象一样创建它(这里我们将创建一个包含 11 个元素的数组):
int[] numbers = new int[11];
数组也是,对对象的引用Object
也是如此,必须实例化才能使用。numbers
您需要在访问之前创建对象。
当您说int[] numbers;
时,它只是创建一个可以保存真实数组的引用。所以这里的 'number' 是一个可以容纳 int 数组的引用。
为了使用/访问它,您需要按new
关键字创建对象。那将分配它的内存。
所以为了使用它,你需要这样做:int[] numbers = new int[10];