返回数字出现在数组中的次数?

时间:2018-10-28 18:37:23

标签: java arrays methods

所以我正在做很多练习,其中一个要求我编写一个方法,该方法将每个插槽类型为int的数组传递给它。此方法应返回数组中出现99的次数。这是我即时想到的:

public static int countNum(int[]x)
{
int count = 0;
for (int i = 0; i <= x.length;i++);
{
 if (x[i] == 99)
   count++;
}
return count;
}

总而言之,我只需要编写方法。我在正确的轨道上吗?

2 个答案:

答案 0 :(得分:1)

嗯,有两个错误。
首先:应该是i < x.length;或那样的i <= x.length - 1;,否则您将无法使用数组。
第二:

  for (int i = 0; i <= x.length;i++)**;**
  {
      if (x[i] == 99)
      count++;
  } 

您不需要; ,否则下一个代码将不在

答案 1 :(得分:0)

  1. array.length返回数组的长度,并且您不想从0迭代到length,而是从0迭代到length - 1。 为什么?例如,如果数组为[1,5],则: array.length == 2array[0] == 1array[1] == 5,但是array[2]抛出java.lang.ArrayIndexOutOfBoundsException(因为它试图到达不在数组中的元素)

  2. 在for语句后删除分号:

    for (int i = 0; i <= x.length;i++);

    (for循环执行紧随其后的语句,“;”结束一条语句。for(...)后跟“;”表示您有一个循环,该循环不执行x.length次)) / p>