编写一个将数组作为输入并返回2个数字的数组的函数。返回的数组包含输入中的偶数和和奇数。
如果任何输入为null,则应将其视为空数组
输入:
[30,18,2,83,20,71]
输出:
[70,154]
输入:
[14,11,10,67,41]
输出:
[24,119]
输入: [36,24,-82,29,44,-3,-100,-5,49] 输出: [-78,70]
我写的函数是
public int[] getSumOfEvensAndOdds(int[] input) {
int x[] = input;
int even = 0, odd = 0;
for (int i = 0; i < x.length; i++) {
if (x[i] % 2 == 0)
even += x[i];
else
odd += x[i];
}
int[] ans={even, odd};
return ans;
}
但是我应该如何合并空数组的一部分?
答案 0 :(得分:4)
首先检查input
是否为null
。如果是这样,请改用空数组:
int x[] = input == null ? new int[0] : input;
答案 1 :(得分:2)
如果任何输入为null,则应将其视为空数组
为什么不只检查null
的值?
public int[] getSumOfEvensAndOdds(int[] input) {
int even = 0, odd = 0;
if(null != input){
for (int i: input) {
if (0 == i % 2){
even += i;
} else{
odd += i;
}
}
}
return new int[]{even, odd};
}
答案 2 :(得分:0)
public int[] getSumOfEvensAndOdds(int[] input) {
int x[] = input;
int even = 0, odd = 0;
for (int i = 0; i < x.length; i++) {
if(x[i] != null) //in case array contains elements which aren't null
{
if (x[i] % 2 == 0)
even += x[i];
else
odd += x[i];
}
else //in case the array has null array elements
{
even = 0;
odd = 0;
}
int[] ans={even, odd};
return ans;
}
答案 3 :(得分:0)
您需要这样的东西:
public class Test {
public static int[] getSumOfEvensAndOdds(int[] input) {
int[] def = {0,0};
if (input != null && input.length!=0) {
int x[] = input;
int even = 0, odd = 0;
for (int i = 0; i < x.length; i++) {
if (x[i] % 2 == 0)
even += x[i];
else
odd += x[i];
}
int[] ans = {even, odd};
return ans;
}
return def;
}
public static void main(String [ ] args){
int[] ar = {10,20,30,40,50,60,71,80,90,91};
int[] res;
res = getSumOfEvensAndOdds(ar);
System.out.println("Result: " + res[0] + " " + res[1]);
int[] ar2 = {};
res = getSumOfEvensAndOdds(ar2);
System.out.println("Result: " + res[0] + " " + res[1]);
int[] ar3 = null;
res = getSumOfEvensAndOdds(ar3);
System.out.println("Result: " + res[0] + " " + res[1]);
}
}
我使用input!= null来检查数组是否为空,并使用input.length!= 0来检查其大小是否为0。此外,在main方法中,我给出了三个示例。
答案 4 :(得分:0)
空数组可能像这样return new int[]{}
答案 5 :(得分:-1)
您的问题只是关于数组为空。快速搜索就知道了:How can I check whether an array is null / empty?