基本的java数组方法

时间:2016-01-23 17:36:18

标签: java arrays

我的工作是编写一个名为findLastIndex的方法,此方法接收一个数组和一个表示数组元素的整数值。 findLastIndex搜索数组以查找给定元素,并返回最后一次在数组中找到此元素的索引(最接近数组长度的元素的位置)。如果在数组中找不到该元素,则该方法返回-1。

所以我当前的代码如下所示:

public static int findLastIndex(int [] nums, int element){
    for(int i = 0; i < nums.length; i++){
        if(i == element){
            return nums[i];
        }
    }
    return -1;
}

但是我不知道第一次如何不返回,而是让它返回最后一次找到该元素。

2 个答案:

答案 0 :(得分:3)

您只需在循环遍历数组时保存(当前)最后一个索引:

public static int findLastIndex(int [] nums, int element){
    int lastIndex = -1
    for(int i = 0; i < nums.length; i++){
        if(nums[i] == element){
            lastIndex = i;
        }
    }
    return lastIndex;
}

但是,也许更好的选择是从数组末尾搜索:

public static int findLastIndex(int [] nums, int element){
    for(int i = nums.length - 1; i >= 0; i--){
        if(nums[i] == element){
            return i;
        }
    }
    return -1;
}

答案 1 :(得分:0)

  public static int findLastIndex(int [] nums, int element){
       int count = 0; //counts the iterations of the enhanced for loop
       int index = -1;//stores the index that the element is currently in

  for(int x : nums){//enhanced for loop
       if(x==element){index=count;}//if element is found in the array it stores the index and will override it if it is found again
       count++;//counts iterations
  }
  return index;//returns the index

}

看到其他人给出了很好的答案......我想尝试一下这个有趣的事情。