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

我意识到很少有人发布这个完全相同的问题,但我们有不同的代码,所以我只是问一个新问题......

“编写一个程序,生成 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


你也可以检查一下我的逻辑吗?我正在挣扎


牧羊人nacy
浏览 92回答 1
1回答

临摹微笑

返回类型应该是 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;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java