Меню в java не вызовет переключение функций () - PullRequest
1 голос
/ 29 января 2020

Все мои методы работают нормально, когда их вызывают по одному.

У меня есть два меню: одно Main и для Customer.

public void getMainMenuChoice() {
    Scanner kb =new Scanner(System.in);
    boolean check =  true;

    while(check) {
        Menu.mainMenu();

        int choice = kb.nextInt(); 

        switch(choice) {
            case 0:
                System.out.println("Goodbye");
                check = false;
                break;
            case 1:
                getCustomerMenuChoice();
            case 2:
                Menu.mainMenu();
        }
    }


}

//Employee Choice from the Menu 
public  void getCustomerMenuChoice() {
    Scanner kb =new Scanner(System.in); 
    Menu.customerMenu();

    int choice = kb.nextInt(); 

    switch(choice) {
        case 0:
            Menu.mainMenu();
        case 1:
            customerWithdraw();
        case 2:
            System.out.println("In progress");
        case 3:
            createCustomerAccount();
        case 4:
            System.out.println("Enter Customer Passport");
            String passportNumber = kb.nextLine();
            findCustomer(passportNumber);
            System.out.println("Waiting");

     }


    }

В основном, когда я вызываю getMainMenuChoice () Я могу выбрать меню клиента

Когда я нахожусь в этом меню и, например, вызвать 4 findCustomer () Он просто перезагружает mainMenu и печатает waiting вверху, когда мне предлагают ввести номер паспорта.

Это обзор того, что происходит

Введите:

  1. Меню клиента

  2. Меню сотрудника

  3. Выход из приложения.

Выбор -> 1

Введите:

  1. Снятие средств с клиента

  2. Депозит клиента

  3. Создание учетной записи

  4. Удалить клиента

  5. Найти клиента

  6. Показать всех клиентов

  7. Назад

Выбор -> 4

* 107 1 * Ввод паспорта клиента

// Он просто игнорирует метод и печатает меню ниже. Ввести паспорт клиента

Введите:

  1. Меню клиента

  2. Меню сотрудника

  3. Выйти из приложения.

Выбор ->

//Finding a customer
public Customer findCustomer(String passportNumber) {

    for(Customer currentCustomer : listCustomer)

        if(currentCustomer.getPassportNumber().equals(passportNumber)) {
            System.out.println("Customer Found: " + currentCustomer);
            return currentCustomer;
        }

        return null;
}

Я не уверен, почему это происходит, я пытаюсь отлаживать уже несколько часов.

Это как-то связано с while l oop в getMainMenuChoice ( )

...