首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在java中如何在空数组中添加元素?

在java中如何在空数组中添加元素?
EN

Stack Overflow用户
提问于 2021-02-12 12:03:07
回答 2查看 140关注 0票数 0

我已经创建了一个函数,它接受一个数组并输出另一个数组。所以我声明了结果数组(这将是输出)为null,因为它的大小是不同的,并且取决于输入的数组。(例如,如果我输入一个整数数组,然后我想输出包含该数组中偶数的数组)。所以我将使用for或while循环,我想知道如何将整数添加到空数组中。我试过了,但我得到一个空指针异常,说不能存储到整数数组,因为“数组”是空的。

抱歉,我不能使用更高级的技术,因为我刚接触java (我需要在没有使用arraylist库的情况下做这件事,因为我正在学习编码,我发现了那些试图让你在特定主题中完美的问题,然后他们会带你进入下一步,这样你就可以更有准备了)。

我正在使用这段代码,我想知道在我的结果数组中添加一个元素,或者我应该将它初始化为null或其他什么,因为在这段代码中,大小取决于输入的数组。在这段代码中,我得到了null指针异常

代码语言:javascript
复制
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;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-12 12:08:47

数组的大小需要初始化。如果您需要动态存储,请阅读有关ListCollection的信息。

在这里,如果你仍然想使用数组,你需要计数。

代码语言:javascript
复制
int a = 0;
while (i < numbers.length) {
    if (numbers[i] % 2 == 0) {
        a++;
    }
    i++;
}

然后,在此之后,您可以将其初始化为int[] result = new int[a]

票数 1
EN

Stack Overflow用户

发布于 2021-02-12 12:52:10

代码语言:javascript
复制
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;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66166197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档