0

我有一个我不明白的问题(可能很容易解决)。

int[] numbers;
numbers[0] = 0;

当我调试时,第二行出现错误:

“使用未分配的局部变量”

我该如何摆脱它?

4

3 回答 3

2

您应该首先创建/初始化一个特定长度/大小的数组。

int[] numbers = new int[lenghtOfArray];

其中lengthOfArray是一个整数,表示数组的长度/大小。

然后您可以使用它们的索引访问数组中的项目,就像您在此处所做的那样:

numbers[0] = 0;

您将数字 0 设置为数组中的第一项,在索引为 0 的位置。

于 2015-05-17T16:41:42.640 回答
0

局部变量没有被赋予默认值,并且必须在读取之前进行初始化,并且编译器会抱怨,因为您使用的是未分配的局部变量。

但是,您的代码的真正问题是必须在使用之前创建/实例化数组。

您可以像创建任何其他对象一样创建它(这里我们将创建一个包含 11 个元素的数组):

int[] numbers = new int[11];

数组也是,对对象的引用Object也是如此,必须实例化才能使用。numbers

于 2015-05-17T16:43:19.203 回答
0

您需要在访问之前创建对象。

当您说int[] numbers;时,它只是创建一个可以保存真实数组的引用。所以这里的 'number' 是一个可以容纳 int 数组的引用。

为了使用/访问它,您需要按new关键字创建对象。那将分配它的内存。

所以为了使用它,你需要这样做:int[] numbers = new int[10];

于 2015-05-17T16:55:12.017 回答