Java - Нахождение элемента в массиве - PullRequest
1 голос
/ 10 марта 2019

В настоящее время я пытаюсь выяснить, как искать в моем массиве, чтобы найти определенный элемент в массиве.Пользователь вводит имя, которое он хочет найти, и моя программа должна вернуть пользователю место, в котором он сидит. Добавление пассажиров выполняется другим способом.Итак, если бы на пятом месте сидел кто-то по имени «Тим Джонс», если бы я использовал этот метод, я бы набрал «Тим Джонс», и программа должна сообщить мне, что на 5 месте сидит Тим ​​Джонс.

текущий вывод, который я получаю, это просто заявление о том, что пассажир не найден, что бы я ни пытался.Какие-нибудь советы?Заранее спасибо.

private static void findPassengerSeat(String airplaneRef[]) {
    String passengerName;
    Scanner input = new Scanner(System.in);
    System.out.println("Enter passenger's name."); // asks user for passenger name.
    passengerName = input.next(); // user input stored under variable passengerName.
    for (int i = 0; i < airplaneRef.length; i++) { // for i, if i is less than the length of the array airplaneRef, increment i.
        if (airplaneRef[i].equalsIgnoreCase(passengerName)) { // iterates through all elements in the array, ignoring case sensitivity and looks for the passenger.
            int seat = i;
            System.out.println(passengerName + " is sitting in seat s" + seat); // prints name of passenger and what seat they are sitting in.
        } else {
            System.out.println("Passenger not found.");
            break;
        }
    }
}

1 Ответ

0 голосов
/ 10 марта 2019

Вы должны избавиться от else, иначе вы только оцениваете первый индекс вашего массива и пропускаете все остальные.

Следующее должно сделать свое очарование: вы в основном просматриваете список всех пассажиров, и только если ни один из них не соответствует вводу, вы утверждаете, что пассажир не найден.

for (int i = 0; i < airplaneRef.length; i++) { // for i, if i is less than the length of the array airplaneRef, increment i.
    if (airplaneRef[i].equalsIgnoreCase(passengerName)) { // iterates through all elements in the array, ignoring case sensitivity and looks for the passenger.
        int seat = i;
        System.out.println(passengerName + " is sitting in seat s" + seat); // prints name of passenger and what seat they are sitting in.
        return;
    }
}
System.out.println("Passenger not found.");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...