使用if语句时无法从程序中退出

问题描述 投票:-1回答:1

这是我的代码,在主菜单中输入选项时,尝试退出时无法退出程序。我想知道我哪里出错了。

public static int main_menu(int a) {
        System.out.println(" ######                          #####                                      ");
        System.out.println(" #     #   ##   #####   ##      #     #  ####  #####  ##### # #    #  ####  ");
        System.out.println(" #     #  #  #    #    #  #     #       #    # #    #   #   # ##   # #    # ");
        System.out.println(" #     # #    #   #   #    #     #####  #    # #    #   #   # # #  # #      ");
        System.out.println(" #     # ######   #   ######          # #    # #####    #   # #  # # #  ### ");
        System.out.println(" #     # #    #   #   #    #    #     # #    # #   #    #   # #   ## #    # ");
        System.out.println(" ######  #    #   #   #    #     #####   ####  #    #   #   # #    #  ####  \n");

        System.out.println("Main Menu\n");
        System.out.println("Select the Sorting method you would like to use. ");
        System.out.println("(1) Bubble sort (Recommended for somewhat sorted data)");
        System.out.println("(2) Selection sort (Recommended for VERY unsorted data)");
        System.out.println("(3) Insertion sort (Recommened when data is nearly sorted)");
        System.out.println("(4) Turtle sort (Recommened for long arrays)");
        System.out.println("(5) Quit");

        while(true) {
            try {
                a = in.nextInt();
                break;
                }
            catch(Exception e) {
                System.out.println("Invalid Input, please try again.");
                in.next();
                }
            }
        return a;
        }
public static void main(String[] args) { 
        int menu_option = 0;
        int num_values;
        int unsorted_array[] = null;
        main_menu(menu_option);
        if (menu_option == 5) {
            in.close();
            return;
            }   
        user_array(unsorted_array);
        }

java arrays if-statement exit
1个回答
0
投票

摆脱main_menu()的参数,并在该方法内部局部声明a变量:

public static int main_menu() {
    int a;
    // ... other existing code ...
    return a;
}

外,返回main(),将“菜单选项”设置为main_menu()返回值

    int menu_option = main_menu();
    if (menu_option == 5) {
© www.soinside.com 2019 - 2024. All rights reserved.