Вы были близки. Вот один из способов сделать это с комментариями, объясняющими вещи.
Scanner in = new Scanner(System.in);
// The way you initialzied your array is fine but you
// could do the same thing like this which most times is easier.
// String[] cat = { "Design", "Biology", "Business", "Health", "History" };
String[] cat = new String[5];
cat[0] = "Design";
cat[1] = "Biology";
cat[2] = "Business";
cat[3] = "Health";
cat[4] = "History";
System.out.print("Enter Category: ");
String e = in.nextLine();
Вам нужно передать строку категории и массив в метод find. Метод возвращает индекс строки в массиве.
int index = new Example().find(e, cat);
Теперь убедитесь, что индекс действителен. A -1
означает не найден. Любые другие значения должны указывать расположение в массиве.
if (index < 0) {
System.out.println(e + " not found!");
}
else {
Теперь используйте индекс для вывода значения
System.out.print("The index of " + cat[index] + " is: " + index);
}
Этот метод был найден, за исключением передачи строки и массива к методу поиска. И возврата i
достаточно для index
. И, как правило, имена методов начинаются со строчных букв.
public int find(String str, String[] arr) {
for (int i = 0; i < arr.length; i++) {
if (arr[i].equals(str)) {
return i;
}
}
return -1;
}