1 回答
TA贡献1982条经验 获得超2个赞
返回类型应该是 int[] 而不是 int,因为您返回的是数组。
返回数组(eMOF 或 oMOF)的索引我应该从零开始,因为数组的索引从零开始。
谈到逻辑,对于这两种方法,最初应该检查每个元素是否是四的倍数,然后检查偶数倍或奇数倍。
检查是否为四的偶数倍: x%4==0 && (x/4)%2==0 x%4 ==0 检查元素是否为 4 的倍数且 (x/4)%2= =0 检查元素是否为四的偶数倍。
'%' 给出余数,而 '/' 给出商。
public static int[] eMOF(int[] randomNumbers)
{
int[] eMOFArray = new int[100];
int i = 0;
for (int x : randomNumbers)
{
if ( x % 4 == 0 && ( x / 4 ) % 2 == 0)
{
eMOFArray[i++] = x;
}
}
return eMOFArray;
}
public static int[] oMOF(int[] randomNumbers)
{
int[] oMOFArray = new int[100];
int i = 0;
for (int x : randomNumbers)
{
if ( x % 4 == 0 && ( x / 4 ) % 2 != 0)
{
oMOFArray[i++] = x;
}
}
return oMOFArray;
}
添加回答
举报