如何使用方法返回数组元素的索引?

时间:2013-12-10 08:03:38

标签: java arrays methods

我正在尝试使用一个方法来返回数组索引的值,以便我可以在另一个类中使用它,但我似乎无法使它工作。这是我的代码:

这个告诉我没有回复声明。

public int getCourseIndex(String course){
    for (int i = 0; i<courses.length; i++)
       if(course.equals(courses[i])) 
}

我也尝试了,我认为它只返回0:

public int getCourseIndex(String course){
    int total = 0;
    for (int i = 0; i<courses.length; i++){
        if(course.equals(courses[i])){
            total++;
    }

    return total;
}

4 个答案:

答案 0 :(得分:3)

你需要通过for循环遍历数组,如果找到你要找的东西,返回当前的循环变量值(在下面的代码中为i值),它实际上代表了索引发现它的数组。

如果循环结束并且没有返回任何内容,则意味着您要查找的内容不在数组中。然后你应该回复一些事情告诉你这个事实。它必须是无法从for循环内部返回的东西,它们是负数(通常为-1)。

public int getCourseIndex(String course){
    for (int i = 0; i<courses.length; i++){
        if(course.equals(courses[i])){
            return i;
        }
    }
    return -1; // not found
}

答案 1 :(得分:2)

您可以使用java.util.Arrays,如下所示:

public int getCourseIndex(String course) {
    return (Arrays.asList(courses)).indexOf(course);
}

或者,如果您想使用循环计算,您可以:

public int getCourseIndex(String course) {
    for (int i = 0; i < courses.length; i++)
        if (course.equals(courses[i])) {
            return i;
        }
    return -1;
}

答案 2 :(得分:1)

此外,您可以使用ArrayUtils.#indexOf(Object[] array,Object objectToFind)中的org.apache.commons.lang.ArrayUtils

  

查找数组中给定对象的索引。此方法返回   对于空输入数组,INDEX_NOT_FOUND(-1)。

public int getCourseIndex(String course){
  return ArrayUtils.indexOf(courses, course)
}

答案 3 :(得分:0)

要返回索引,您应该遍历循环并在验证结果i时返回true

如果没有找到,您有两个选项,返回-1或抛出异常。

public int getCourseIndex(String course){

 for (int i = 0; i < courses.length; i++){
   if(course.equals(courses[i])){
    return i;
   }
 }
 return -1;
}