Java 如何在方法之间正确传递数组

Java 如何在方法之间正确传递数组,java,arrays,parameter-passing,Java,Arrays,Parameter Passing,我在方法之间传递数组时遇到问题,我摘录了下面的代码 我已经成功创建了两个数组,computerDice和humanDice,现在我需要计算每个数组中1、2、3等的数量。请参见下面的代码示例。我已经验证了a。输入数组是否包含有效数据和b。计数器工作正常 但是,现在我试图以数组的形式返回Occurrence,在发送给方法的数组中,有六个不同的Occurrence值,分别表示1、2、3等,但都没有成功。我的出现返回一直有问题…不兼容的类型,为操作数+键入的操作数不正确…我尝试的每件事都有不同的结果。我

我在方法之间传递数组时遇到问题,我摘录了下面的代码

我已经成功创建了两个数组,computerDice和humanDice,现在我需要计算每个数组中1、2、3等的数量。请参见下面的代码示例。我已经验证了a。输入数组是否包含有效数据和b。计数器工作正常

但是,现在我试图以数组的形式返回Occurrence,在发送给方法的数组中,有六个不同的Occurrence值,分别表示1、2、3等,但都没有成功。我的出现返回一直有问题…不兼容的类型,为操作数+键入的操作数不正确…我尝试的每件事都有不同的结果。我显然缺少一些关于如何强制转换/填充此变量的内容

注:这是作业;我只是想掌握我的概念步骤

// SEND VALUES TO numToFind AND CREATE SCORING ARRAY FOR computerDice AND humanDice
        for(int i=1;i<7;i++)
        {
            int[] pipCountsComputer = findVals(computerDice,i);
            int[] pipCountsHuman = findVals(humanDice,i);
            System.out.println(i + " " + pipCountsComputer + " " + pipCountsHuman);
        }
    }
//
// COUNT INSTANCES OF numToFind IN arr[] AND RETURN THE occurence
    public static int[] findVals(int[] arr, int numToFind)
    {
        int[] occurence=0;
        for (int i = 0; i < arr.length; i++)
        {
            if (arr[i] == numToFind)
                occurence = occurence+1;
        }
        return occurence;
    }
例如,我已经验证过,给定computerArray=52334和humanArray=11163,我的print语句生成:

1 0 3个一,计算机有0个一,人类有3个一 计算机有12个,人类有0个 3、2、1等。 4 1 0我希望此数据集的数组为: 510 PIPCounts计算机{0,1,2,1,1,1}
6 0 1 pipCountsHuman{3,0,1,0,0,1}

这闻起来像是家庭作业,我不会给你答案,但会给你提示

现在我尝试将事件作为数组返回

您尚未为此编写代码。。。再次查看方法签名


公共静态void findValsint[]arr,int numToFind

由于这闻起来像是家庭作业,我不会给你答案,但会给你提示

现在我尝试将事件作为数组返回

您尚未为此编写代码。。。再次查看方法签名


public static void findValsint[]arr,int numToFind

如果我理解正确,请尝试以下方法计算出现的次数:

public static int findVals(int[] arr, int numToFind) {
    int occurence = 0;
    for (int i = 0; i < arr.length; i++) {
        if (arr[i] == numToFind)
            occurence++;
    }
    return occurence;
}

我真的不明白为什么要返回一个数组,一次出现只是一个数字。

如果我理解正确,请尝试以下方法来计算出现的次数:

public static int findVals(int[] arr, int numToFind) {
    int occurence = 0;
    for (int i = 0; i < arr.length; i++) {
        if (arr[i] == numToFind)
            occurence++;
    }
    return occurence;
}

我真的不明白为什么要返回一个数组,一个引用只是一个数字。

++是基本类型的一元运算符。数组不是基元类型。您尝试执行的操作没有意义。您正在计算发生的次数,这当然是一个数字,您希望将其作为数组返回。数组将包含什么?您发布的代码无法编译。您正在返回引用,但返回类型为void.++是基本类型的一元运算符。数组不是基元类型。您尝试执行的操作没有意义。您正在计算发生的次数,这当然是一个数字,您希望将其作为数组返回。数组将包含什么?您发布的代码无法编译。您正在返回事件,但返回类型为空。确实是家庭作业。我正在添加家庭作业标签和免责声明,这时我终于明白了如果您提示需要将该void更改为int[],我已经这样做了。我还发布了我的后代码……我~had~发布了我的前代码……确实是作业。我正在添加家庭作业标签和免责声明,这时我终于明白了如果您提示需要将该void更改为int[],我已经这样做了。我还发布了我的后代码……我~had~发布了我的前代码。。。