Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何退出java课程?_Java_Eclipse_Case_Do While_Void - Fatal编程技术网

如何退出java课程?

如何退出java课程?,java,eclipse,case,do-while,void,Java,Eclipse,Case,Do While,Void,我已经在我的代码中创建了一个主菜单。当用户键入q时,我希望代码停止运行。相反,它只是再次显示菜单,我应该使用什么代码来停止此操作。如果你按任何其他字母,它会工作。谢谢 import java.util.Random; public class Aaa { AQAConsole2016 console = new AQAConsole2016(); Random random = new Random(); int boardSiz

我已经在我的代码中创建了一个主菜单。当用户键入q时,我希望代码停止运行。相反,它只是再次显示菜单,我应该使用什么代码来停止此操作。如果你按任何其他字母,它会工作。谢谢

    import java.util.Random;

    public class Aaa {
        AQAConsole2016 console = new AQAConsole2016();
        Random random = new Random();
        int boardSize;
        boolean moveIsValid;

        char [][] board;
        int move;
        char choice;
        String playerName="Human";
        String player2="Computer";
        public Aaa() {




            boardSize = 6;

            do {
                displayMenu();
                choice = getMenuChoice(playerName);
                switch (choice) {
                case 'p' : playGame(playerName, boardSize);
                break;
                case 'e' : playerName = getPlayersName();
                break;
                case 'c' : boardSize = changeBoardSize();
                break;
                case 'm' : Multiplayer( boardSize,playerName,player2);
                break;
                case 'r' :readBoard(board,boardSize);
                break;
                case 'q' : quit();


                }
            }while (choice!='p'||choice!='e'||choice!='c'||choice!='m'||choice!='r'||choice!='q');
        }
        void quit(){


    }

这是行不通的,因为

案例“q”:退出()只是对方法的调用,即当方法完成时,它将返回到do,而

您需要添加一些布尔条件,如果选择了选项菜单,则可以修改这些条件

像这样做

while (!exit);
其中exit是一个布尔变量

在void方法中,您可以:

void quit(){
    //Do your stuff before exit
    exit=true;
}

你不需要一个退出的方法,只要花更多的心思在你的while循环中,while(choice!='p'| | choice!='e'| | choice!='c'| | choice!='m'| | choice!='r'| | | choice!='q')
总是正确的。@调试while循环是无止境的。请看一看,以了解您在while循环条件下所犯的错误。简单地退出循环就足够了。我投票结束这个问题,因为它太本地化了。这里的问题也应该帮助其他人,而不仅仅是提问者