Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 处理数组中的空元素_Java_Arrays_Null_Sum - Fatal编程技术网

Java 处理数组中的空元素

Java 处理数组中的空元素,java,arrays,null,sum,Java,Arrays,Null,Sum,在我的程序中,我通过将元素转换为null来“删除”元素,因为不能从数组中删除元素,所以employee[i]=null。然而,我想知道,如果我想处理一个有空元素的数组,比如在数组中添加所有的数字,我如何做到这一点而没有任何问题 [更新:] 我的数组包含4名员工的名字、姓氏和年龄,我已将其中一名员工的详细信息设置为空,从而将其“删除”。根据我得到的所有建议,我尝试使用以下方法添加所有年龄: int sum = 0; for (int i = 0; i < employee.length;

在我的程序中,我通过将元素转换为null来“删除”元素,因为不能从数组中删除元素,所以
employee[i]=null
。然而,我想知道,如果我想处理一个有空元素的数组,比如在数组中添加所有的数字,我如何做到这一点而没有任何问题

[更新:]

我的数组包含4名员工的名字、姓氏和年龄,我已将其中一名员工的详细信息设置为空,从而将其“删除”。根据我得到的所有建议,我尝试使用以下方法添加所有年龄:

int sum = 0;

for (int i = 0; i < employee.length; i++) {
    if (employee[i] != null)
        sum += employee[i].getAge();
}
int和=0;
for(int i=0;i

但我得到的只是sum=1。

public int addAllNums(int[]nums)
{
整数和=0;

对于(int i=0;i您只需迭代数组并检查当前员工是否为空:

int sum = 0;
for(int i = 0; i < employee.length; i++) {
    if(employee[i] != null) {
        sum += employe[i].getNumber();
    }
}
int和=0;
for(int i=0;i
您必须检查该元素是否为空。如果为空,则将其添加到总和中。如果为空,则不执行任何操作

int sum = 0;

for (int i = 0; i < employee.length; i++) {
    if (employee[i] != null)
        sum += employee[i];
}
int和=0;
for(int i=0;i
如果要对数组执行的唯一操作是所有元素的总和,那么将删除的元素设置为
0
而不是
null
。这样,您就不需要在每次迭代时进行额外的null检查。

我做了
int sum=0;for(int I=0;I
并且总和一直是1。我的数组不仅包含数字,还包含4名员工的名字、姓氏和年龄。我想在删除其中一名员工的信息后添加3名员工的年龄。好的,在这种情况下,您需要像其他答案所指出的那样进行空检查。另外,一个更干净的w方法是将您的Employee对象放入一个
列表中,这样您就可以使用
.remove()
方法删除列表中的元素。我尝试过这样做。但这一直让我知道
Employee[I].getAge
的总和是1。您是否尝试过打印所有(非空)元素数组的元素?这显示了什么?很好。所有元素都打印出来了(空元素除外)。@demongolem,谢谢你的编辑。没有看到。:)其他两个答案正是我发布的。如何删除重复的答案?