我在方法之间传递数组时遇到问题,并在下面摘录了我的代码。
我已经成功创建了两个数组computerDice
和humanDice
,现在我需要计算每个数组中的一个,两个,三个等的数量。请参阅下面的代码示例。我已经验证了a。)输入数组包含有效数据和b。)计数器正常工作。
然而,现在我正在尝试将occurences
作为一个数组返回 - 六个不同的occurence
值代表一个,两个,三个等,在数组中是SENT方法 - 并且没有成功。我一直遇到问题occurence
返回...不兼容的类型,为操作数键入的坏操作数+ ...而且我尝试的每件事情都会有所不同。我显然错过了如何投射/填充这个变量的东西。
注意:这是作业;我只是想抓住我的概念性错误步骤。
// 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个)
2 1 0
(两个,计算机有1个,人有0个两个)
3 2 1
等
4 1 0
我想要的数据集数组是:
5 1 0
pipCountsComputer{0,1,2,1,1,1}
6 0 1
pipCountsHuman{3,0,1,0,0,1}
答案 0 :(得分:3)
如果我理解正确,请尝试这样计算出现次数:
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;
}
我真的不明白为什么要返回数组,出现只是一个数字。
答案 1 :(得分:2)
因为这闻起来像家庭作业,我不会给你答案,但暗示它......
现在我试图将出现的数据作为数组返回
你尚未对此进行编码......再次查看方法签名
public static void findVals(int[] arr, int numToFind)