2

说我有数组

int[] numbers = {1, 2, 3, 6, 1, 7, 9, 8, 12, 1, 8};

我想编写一个只返回大于 5 的值的方法。我想不通。

我唯一能做的就是返回每一个值,我似乎无法将返回整数分配为仅使用大于 5 的值。

4

3 回答 3

5

以下是您需要遵循的步骤: -

  • Iterate遍历数组并访问每个元素
  • 对于每个元素,检查它的值是否为greater than 5
  • 如果大于 5,则可以将其添加到temporary array
  • 在迭代结束时,您return可以temporary array

但是,如果您使用数组,则必须创建与原始数组大小相同的临时数组。这可能会浪费内存,尤其是当您找不到任何大于 5 的元素时。

更好的选择是使用ArrayList,您可以动态创建它,并且可以动态添加元素。因此您不必担心大小。查看documentation link更多信息。

于 2012-09-30T18:28:42.357 回答
1

您还应该返回一个数组。

ArrayList<Integer> getGreaterThanFive(int[] numbers)
{
    ArrayList<Integer> result = new ArrayList<Integer>();
    for (int number : numbers)
    {
        if (number > 5)
        {
            result.add(number);
        }
    }
    return result;
}
于 2012-09-30T18:56:41.983 回答
1

干得好

    int[] numbers = {1, 2, 3, 6, 1, 7, 9, 8, 12, 1, 8};
    List<Integer> list = new ArrayList<Integer>();
    for(int i=0; i<=numbers.length-1; i++ ){
        if(numbers[i]>5){
            list.add(numbers[i]);
        }
    }
    System.out.println("List :"+list);
于 2012-10-10T12:49:06.580 回答