我在我的驱动程序a.indexFinder(4)
以及a.indexFinder(2)
中使用此功能
如果元素不在数组中,那么我们将返回-1
当索引为5(我得到-1)时,此代码有效,因为5不在数组中。 但是对于4,它给了我第一个4.i想要最后4个的索引。
int[] array = {2, 8, 8, 3, 4, 4, 4, 7}; //im suppose to find the index of the last 4.
int index = 4; //4 or 5(return -1 when element is not found)
public int findLast(int index) //this method is in my class
{
for(int index = 0; index < a.length; index++)
{
if (a[index]== key)
return index;
}
return -1;
}
答案 0 :(得分:3)
从最后一个索引(a.length - 1)遍历到0
第一次遇到密钥时返回索引。
答案 1 :(得分:1)
一种可能的方法是从数组的末尾开始并向后工作,返回遇到的第一个元素的索引....
int[] array = new int[]{2, 8, 8, 3, 4, 4, 4, 7}; //im suppose to find the index of the last 4.
int find = 4; //4 or 5(return -1 when element is not found)
int lastIndex = -1;
for (int index = array.length - 1; index >= 0; index--) {
if (array[index] == find) {
lastIndex = index;
break;
}
}
System.out.println(lastIndex);