如何修复我的 do while 循环以使菜单一次又一次地出现,直到用户按下字母"Q"?



这是我的代码:

import java.util.Scanner;
// I want to call the menu function in my driver class and in a do while loop . 
public class Driver {
    public static void main(String[] args) {
        do {
            Scanner scanner = new Scanner(System.in);
            char choice = scanner.next().charAt(0);
        } while (choice == 'Q');// How to exit the menue
    }
    static void createNewEmployee() {
        System.out.println("What is the name of employee?");
    }
    static void process() {
        char choice;
        switch (choice) {
        case 'N':
            System.out.println("new employee");
            createNewEmployee();
            break;
        case 'P':
            System.out.println("Compute paychecks");
            break;
        case 'R':
            System.out.println("Raise Wages ");
            break;
        case 'L':
            System.out.println("List Employees ");
            break;
        default:
            System.out.println("Error");
        }
    }
}

while (choice == 'q')更改为while (choice != 'q') 。可以把它想象成"如果用户按下'q'以外的任何内容,请继续"。

我认为这会对你有所帮助!!

public static void main(String[] args) {
    char choice;
    do {
        Scanner scanner = new Scanner(System.in) ; 
        System.out.print("Press Any Key: N -- New, P -- Paycheck, R -- Raise Wages,-- List Employee, Q -- Quit: ");
        choice = scanner.next().charAt(0);
        process(choice);
    } while(choice !='Q');
}

static void process(char choice) {
    switch (choice) {
    case 'N':
        System.out.println("new employee");
        break;
    case 'P':
        System.out.println("Compute paychecks");
        break;
    case 'R':
        System.out.println("Raise Wages ");
        break;
    case 'L':
        System.out.println("List Employees ");
        break;
    case 'Q':
        System.out.println("Thanks!!");
        break;
    default:
        System.out.println("Error");
    }
}

相关内容

最新更新