我已经创建了一个函数,它接受一个数组并输出另一个数组。所以我声明了结果数组(这将是输出)为null,因为它的大小是不同的,并且取决于输入的数组。(例如,如果我输入一个整数数组,然后我想输出包含该数组中偶数的数组)。所以我将使用for或while循环,我想知道如何将整数添加到空数组中。我试过了,但我得到一个空指针异常,说不能存储到整数数组,因为“数组”是空的。
抱歉,我不能使用更高级的技术,因为我刚接触java (我需要在没有使用arraylist库的情况下做这件事,因为我正在学习编码,我发现了那些试图让你在特定主题中完美的问题,然后他们会带你进入下一步,这样你就可以更有准备了)。
我正在使用这段代码,我想知道在我的结果数组中添加一个元素,或者我应该将它初始化为null或其他什么,因为在这段代码中,大小取决于输入的数组。在这段代码中,我得到了null指针异常
public static int[] even(int[] numbers) {
int[] result = null;
int even = 0;
int i = 0;
int a = 0;
while (i < numbers.length) {
if (numbers[i] % 2 == 0) {
even = numbers[i];
result[a] = even;
a++;
}
i++;
}
return result;
}发布于 2021-02-12 12:08:47
数组的大小需要初始化。如果您需要动态存储,请阅读有关List和Collection的信息。
在这里,如果你仍然想使用数组,你需要计数。
int a = 0;
while (i < numbers.length) {
if (numbers[i] % 2 == 0) {
a++;
}
i++;
}然后,在此之后,您可以将其初始化为int[] result = new int[a];
发布于 2021-02-12 12:52:10
public static int[] even(int[] numbers) {
int[] result = null;
int j = 0;
int a = 0;
while (i < numbers.length) {
if (numbers[j] % 2 == 0) {
a++;
}
j++;
}
result = new int[a];
int even = 0;
int i = 0;
int b = 0;
while (i < numbers.length) {
if (numbers[i] % 2 == 0) {
even = numbers[i];
result[b] = even;
b++;
}
i++;
}
return result;
}https://stackoverflow.com/questions/66166197
复制相似问题