我正在尝试使用一个方法来返回数组索引的值,以便我可以在另一个类中使用它,但我似乎无法使它工作。这是我的代码:
这个告诉我没有回复声明。
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;
}
答案 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;
}