【发布时间】:2015-06-19 12:34:13
【问题描述】:
我完全被难住了。我休息了几个小时,我似乎无法弄清楚这一点。好难过!
我知道我需要检查数组中的当前元素,看看它是否出现在数组的其他地方。这个想法是输出以下内容:
要求用户输入 10 个整数并将这些整数分配给一个数组(因此“数字”作为该方法的参数)。假设我输入“1、1、2、3、3、4、5、6、7、8”。打印结果应为“1出现2次。2出现1次。3出现2次。4出现1次。5出现1次。6出现1次。7出现1次。8出现1次。”此打印将以单独的方法完成。
我的代码中的所有内容都有效,除了我创建的用于计算出现次数的方法。
public static int getOccurrences(int[] numbers)
{
int count = 0;
for (int i = 0; i < numbers.length; i++)
{
int currentInt = numbers[i];;
if (currentInt == numbers[i])
{
count++;
}
}
return count;
}
我知道这里有什么问题。我将数组中的当前整数元素设置为变量 currentInt。 if 语句计算数组中的每个整数元素,因此输出为“[I@2503dbd3 出现 10 次”。
如何跟踪数组中每个元素的出现次数?
【问题讨论】:
-
你在比较 numbers[i] 和 numbers[i];它永远是真实的并增加计数......
-
另外,还有一个多余的分号。
-
您的意思是“计算重复次数”而不是“计算出现次数”吗?您想从
getOccurrences()返回的int是什么?显示一个示例小数组以及传递给您的方法时期望返回的内容 -
@Z̷͙̗̻͖̣̹͉̫̬̪̖̤͆ͤ̓ͫͭ̀̐͜͞ͅͅαлγo你的名字很烦人:)
-
@Bohemian 要求用户输入 10 个整数,这些整数被分配给一个数组(因此“数字”作为该方法的参数)。假设我输入“1、1、2、3、3、4、5、6、7、8”。打印的结果应该是 1 出现 2 次。 2 发生 1 次。 3 出现 2 次。 4次出现1次。 5 发生 1 次。 6次出现1次。 7 发生 1 次。 8 发生 1 次。