Do while-Schleife, um zu zeigen, ein Menü

Erstellt habe ich mein Menü mit der do~while(true); aber jedes mal, wenn der Benutzer eine Nummer einzufügen, anstatt zu laufen das Programm, zeigt es das Menü wieder! was denkst du?

//meine main-Methode

public static void main(String[] args) {

    DataReader reader = new DataReader(); //The reader is used to read data from a file

    //Load data from the file
    if(reader.loadData(args[0])) {          //The filename is entered using a command-line argument

        vehicles= reader.getVehicleData(); //Store the arrays of Vehicle

        //Display how many shapes were read from the file
        System.out.println("Successfully loaded " + vehicles[0].getCount() + 
                           " vehicles from the selected data file!");
        displayMenu();
    }
}

//dispaly Menü Methode

private static void displayMenu() {
    Scanner input = new Scanner(System.in);

    do {
        System.out.println("\n\n          Car Sales Menu");
        System.out.println("--------------------------------------");
        System.out.println("1 - Sort vehicles by owner's Last Name");
        System.out.println("2 - Sort vehicles by vehicle Model");
        System.out.println("3 - Sort vehicles by vehicle Cost\n");
        System.out.println("4 - List All Vehicles");
        System.out.println("5 - List All Cars");
        System.out.println("6 - List American Cars Only (Formal)");
        System.out.println("7 - List Foreign Cars only (Formal)");
        System.out.println("8 - List All Trucks");
        System.out.println("9 - List All Bicycles");
        System.out.print("\nSelect a Menu Option: ");
        getInput(input.next()); //Get user input from the keyboard 
    }
    while(true); //Display the menu until the user closes the program
}

//getInput-Methode

private static void getInput(String input) {
    switch(Convert.toInteger(input)) {
        case 1: //Sort Vehicles by Owner's Last Name
            Array.sortByOwnerName(vehicles);
            break;
        case 2: //Sort Vehicles by Vehicle Make & Model
            Array.sortByVehicleMakeModel(vehicles);
            break;
        case 3: //Sort Vehicles by Vehicle Cost
            Array.sortByVehicleCost(vehicles);
            break;
        case 4: //List All Vehicles
            displayVehicleData(0);
            break;

        default:
            System.out.print("The entered value is unrecognized!");
            break;
    }
}
Wo ist dein getInput() Methode?
ich habe gerade aktualisiert meine Frage.
Ihre getInput () - Methode keinen Sinn. Was versuchen Sie zu tun?
Ich würde vorschlagen, Sie zu re-design Ihrer Anwendung. Derzeit ist es sehr Durcheinander. Sie interagieren mit dem Benutzer in alle Teile des Codes, das macht es mehr sperrig und hässlich. Und auch es gibt als solche keine code-Wiederverwendung.
Ich werde Neugestaltung meinem code und umbuchen meine Antwort tonite. danke

InformationsquelleAutor Dani | 2012-11-23

Schreibe einen Kommentar