1. ホーム
  2. java

[解決済み] メソッドからプログラムを再開する方法

2022-02-18 15:28:08

質問事項

私はJavaの初心者で、練習用に基本的なゲームを作っています。ほぼ完成しているのですが、さらにもう一つ乗り越えなければならない壁があります。

をループさせる方法を知りたいのですが。 game() を押した後に いいえ を、ゲームを終了するかどうかの選択肢に加えました。

以下は私のコードです。

private static void game() //game method
{
    //...

   int play = JOptionPane.showOptionDialog(null
                   ,"End"
                   , "Do you want to play again?"
                   , JOptionPane.PLAIN_MESSAGE
                   ,JOptionPane.DEFAULT_OPTION
                   , null
                   , again
                   , again[1]);
   //end of game

    if (play == 0)
        System.exit(0);//exit
    else
         /* what do I put here to restart the program in the same method(game()) 
            after pressing the No button on the JOptionPane???    */        
         System.out.println("Service not available");  

ご協力いただける方、本当にありがとうございます。

どのように解決するのですか?

もし、単に動作させたいだけなら、次のような方法があります。

private static void game()//game method
{
    boolean exit = false;
    while(!exit){
        //...int play = JOptionPane.showOptionDialog(null,"Play Again?", "Do you want to play again?", JOptionPane.PLAIN_MESSAGE,JOptionPane.DEFAULT_OPTION, null, again, again[1]);
       //end of game


        if (play == 0) {
            exit = true;
        }

    }          
        System.exit(0);//exit 

しかし、より専門的なアプローチとしては、コードをリファクタリングして、ゲームロジックを抽出し、ユーザーダイアログインタラクションから分離することでしょう。