Пользовательский ввод не вызывает метод (Java) - PullRequest
0 голосов
/ 22 февраля 2020

Когда я запускаю свою программу и печатаю пользовательский ввод как (AF), программа ничего не делает. Я пытаюсь выяснить, почему при вводе любой из букв от A до Z программа не вызывает метод. Если я введу одно из чисел, они будут отлично работать и вызывать методы, но буквы почему-то вызывают у меня проблемы.

public static void main(String[] args) {
    Scanner scnr = new Scanner(System.in);
    String userInput;
    initializeShipList();       // initial ships
    initializeCruiseList();     // initial cruises
    initializePassengerList();  // initial passengers

    // add loop and code here that accepts and validates user input
    // and takes the appropriate action. include appropriate
    // user feedback and redisplay the menu as needed
    do {
        displayMenu();
        userInput = scnr.nextLine();
        if(userInput.equals("1")) {
            addShip();
        }
        if(userInput.equals("2")) {
            editShip();
        }
        if(userInput.equals("3")) {
            addCruise();
        }
        if(userInput.equals("4")) {
            editCruise();
        }
        if(userInput.equals("5")) {
            addPassenger();
        }
        if(userInput.equals("6")) {
            editPassenger();
        }
        if(userInput.toUpperCase().equals("A")) {
            printShipList("active");
        }
        if(userInput.toUpperCase().equals("B")) {
            printShipList("name");
        }
        if(userInput.toUpperCase().equals("C")) {
            printShipList("full");
        }
        if(userInput.toUpperCase().equals("D")) {
            printCruiseList("list");
        }
        if(userInput.toUpperCase().equals("E")) {
            printCruiseList("details");
        }
        if(userInput.toUpperCase().equals("F")) {
            printPassengerList();
        }
    }while(userInput != "x"); 
  }
...