Java 如何编写在参数中接受整数数组的方法

Java 如何编写在参数中接受整数数组的方法,java,arrays,methods,task,Java,Arrays,Methods,Task,在我的编程任务中,我必须编写一个方法,该方法将在参数中接受一个int数组,并从输入数组返回一个只填充偶数的新数组。生成的数组不能有任何零,并且大小与偶数相同。 我能寻求帮助吗 公共类数组方法{ 公共int max(int[]数组){ int max=0; 对于(int i=0;imax){ max=数组[i]; } } 返回最大值; } } 我认为您的问题涉及以下四项任务: 检查一个数字是否不是零,是否是偶数。您可以使用以下简单函数轻松检查一个数字是否为偶数或奇数且大于零: private静态布

在我的编程任务中,我必须编写一个方法,该方法将在参数中接受一个int数组,并从输入数组返回一个只填充偶数的新数组。生成的数组不能有任何零,并且大小与偶数相同。 我能寻求帮助吗

公共类数组方法{
公共int max(int[]数组){
int max=0;
对于(int i=0;imax){
max=数组[i];
}
}
返回最大值;
}
}

我认为您的问题涉及以下四项任务:

  • 检查一个数字是否不是零,是否是偶数。您可以使用以下简单函数轻松检查一个数字是否为偶数或奇数且大于零:
  • private静态布尔值IsEventAndNotZero(int num){
    返回(num!=0)&(num%2==0);
    }
    
  • 计算偶数的数目。您可以使用上面创建的实用程序函数来计算偶数元素的数量,如下所示:
  • private static int getNumberOfEvenElements(int[]inputArr){
    返回(int)数组.stream(inputArr)
    .filter(ArrayMethod::IsEvent和NotZero)
    .count();
    }
    
  • 分配不包含零或偶数的结果数组。您只需根据结果数组大小使用上一个方法的输出:
  • int[]resultar=newint[getNumberOfEvenElements(inputArr)];
    
  • 将偶数复制到结果数组并返回它。为此,您只需迭代输入和结果数组,并复制满足第1点中描述的条件的值
  • 当您组合所有这些函数时,结果函数应如下所示:

    私有静态int[]getEvenElementsArray(int[]inputArr){
    //1.计算偶数元素的数量
    int-nEvens=getNumberOfEvenElements(inputArr);
    //2.创建大小=偶数元素数的结果数组
    int[]resultar=新int[nEvens];
    //3.迭代输入数组以复制偶数值
    //结果数组
    int resultIndex=0;
    for(int j:inputArr){
    //4.检查均匀且不为零的字段
    如果(IsEvent和NotZero(j)){
    结果r[resultIndex]=j;
    resultIndex++;
    }
    }
    返回结果器;
    }
    
    您能分享一下您尝试过的代码吗?谢谢您的编辑,嗯,我有点困惑。您共享的代码似乎在做其他事情…(查找max元素)当然,我的代码错了,我在寻找一些建议如果这是您试图解决的问题,您可以回答我2个问题:1。为什么要为该方法选择返回类型
    int
    ?2.你为什么叫这个方法
    max
    ?如果inputArr是最终的,为什么是第二个条件?你能详细说明你的问题吗?
    inputArr
    为最终状态对第二个条件有什么影响?您是指我的答案或最后清单中的注释中的第二点吗?int nEvens=getNumberOfEvenElements(inputArr)有一个问题;而isEvenAndNtZeroits则向我展示了“无法解析方法”@starskyhutch,当然!否则,编译器如何知道它们?