为了账号安全,请及时绑定邮箱和手机立即绑定

如何进行此分配?(制作 1 个数组,使用第一个数组制作另外 2 个数组,然后显示它们)

如何进行此分配?(制作 1 个数组,使用第一个数组制作另外 2 个数组,然后显示它们)

牧羊人nacy 2023-09-27 10:26:17
我意识到很少有人发布这个完全相同的问题,但我们有不同的代码,所以我只是问一个新问题......“编写一个程序,生成 100 个 1 到 100 范围内的随机整数,并将它们存储在一个数组中。然后,该程序应该调用一个类方法,将 4 的偶数倍数提取到一个数组中,并返回该数组。然后程序应该调用另一个方法,将不是 4 的倍数的数字提取到一个单独的数组中并返回该数组。然后应该显示两个数组”我读了我的教科书,其中谈到制作另一个名为 return 的数组,但没有一个示例使用该技术,其他代码也没有使用该技术。*****我没有把整个代码放进去,因为它不适合(我认为)public static int eMOF(int[] randomNumbers){    int[] eMOFArray = new int[100];    int i = 1;    for (int x : randomNumbers)    {        if ( (x / 4) % 2 == 0)        {                   eMOFArray[i] = x;            i = i++;        }    }    return eMOFArray;}public static int oMOF(int[] randomNumbers){    int[] oMOFArray = new int[100];    int i = 1;    for (int x : randomNumbers)    {        if ( x / 4 == 0 & ( x / 4 ) % 2 != 0)        {               oMOFArray[i] = x;            i = i++;        }       }    return oMOFArray;}}它应该显示 2 个数组,一个是四的偶数倍,一个是四的奇数倍。相反,它不会编译,并显示一条错误消息:错误:不兼容的类型:int[] 无法转换为 int你也可以检查一下我的逻辑吗?我正在挣扎
查看完整描述

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;

}


查看完整回答
反对 回复 2023-09-27
  • 1 回答
  • 0 关注
  • 91 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信