【发布时间】:2019-01-11 00:00:38
【问题描述】:
编写一个函数,该函数接受一个数组作为输入并返回一个包含 2 个数字的数组。返回的数组包含来自输入的偶数之和和奇数之和。
如果任何输入为空,则应将其视为空数组
示例: 输入:
[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;
}
但是我应该如何合并空数组的部分呢?
【问题讨论】:
-
“我应该如何合并空数组的部分”是什么意思?
-
空数组的结果是什么?你能总结出多少个元素?
-
最简单的:
if (input == null) return new int[2];更好一些,只需做forif (input != null)(注意:为什么需要x?)