Итак, у меня есть следующий код и независимо от того, что он возвращает мне -1. Я хочу иметь его так, чтобы, если идентификатор совпадает, он возвращает и индексирует, но если он не совпадает после запуска всего набора данных, он возвращает отрицательный. Где я буду неправильно здесь:Java возвращает беды
public class StudentCollection {
private String[] ids = new String[] {"Empty","Empty","Empty","Empty","Empty","Empty","Empty","Empty","Empty","Empty","Empty","Empty","Empty","Empty","Empty","Empty","Empty","Empty","Empty","Empty"}; // keeps identification numbers of students
private String [] names = new String[] {"Empty","Empty","Empty","Empty","Empty","Empty","Empty","Empty","Empty","Empty","Empty","Empty","Empty","Empty","Empty","Empty","Empty","Empty","Empty","Empty"};; // keeps the names of students
private int size = 0; // number of students currently in the collection
private int findIndex(String id) {
int noIndex = 1;
for (int i=0;i<ids.length;i++){
if((ids[i].equalsIgnoreCase(id))){
System.out.println("The index of this student is " +i);
}
else {
noIndex = -1;
System.out.println(noIndex);
break;}
}
return noIndex;
}
Что такое 'ids' в вашем коде? –
Подсказка: где вы устанавливаете noIndex для значения, которое хотите вернуть? Когда вы должны ломаться? Почему вы отрицаете результат equalsIgnoreCase? – samgak