首页 > 解决方案 > 用户输入不是调用方法(Java)

问题描述

当我运行我的程序并将用户输入键入为 (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"); 
  }

标签: javaif-statementmethodsuser-input

解决方案


推荐阅读