【发布时间】:2013-05-01 05:07:35
【问题描述】:
我想创建一个可以发送两个数组(将包含整数)的方法。这些数组不一定一样长。例如,第一个数组的索引可能为 15,而第二个数组的索引为 12。在这种情况下,我想为前 12 个添加 array1 和 array2,然后获取最后 3 个的 array1 的值。
我是这样想的:
int[] ArrTotal(int[] array1, int[] array2)
{
int[] total = new int[15];
for (int i = 0; i < 15; i++)
{
if (array1[i] != null && array2[i] != null)
{
total[i] = array1[i] + array2[i];
}
else if(array1[i] != null)
{
total[i] = array1[i];
}
else if (array2[i] != null)
{
total[i] = array2[i];
}
else
{
total[i] = 0;
}
}
return total;
}
问题是我无法检查 int 数组是否为空。我读了一些关于做的事情: if(i
但这似乎也不起作用,它说在我的情况下它总是正确的。 我是在正确的轨道上,还是我遗漏了一些重大缺陷? :)
【问题讨论】:
-
如果另一个数组为空,我们是否允许返回原始数组,或者必须返回一个副本?如果两者都为空,应该返回什么?这个
15来自哪里?如果它不为空,那是否总是数组的长度? -
哦,是的,抱歉忘记添加了。基本上我想要做的是获得一个具有 15 个 int 值的数组,要么 arr1+arr2 要么只是 arr1(如果 arr2 不存在)或 arr2(如果 arr1 不存在),或者如果 arr1 和 arr2 都不存在则只有 0 .