我如何进入下一个&从对话框回来&选择后,请正确返回主菜单

时间:2014-06-26 16:20:45

标签: java menu main joptionpane

我有3个问题。如果我建议如何解决这些问题,我感激不尽。

我的应用程序从主菜单开始。当我插入1时,它将显示第一个游戏细节。当我在对话框中插入“FW”时,它将带我进入下一个游戏细节。 “BK”会让我回到之前的游戏细节。

Q1。我的问题是应用程序带我到下一个游戏细节,即使我插入错误的字母命令。我如何确保只有正确的命令服从?

Q2。该应用程序不会让我回到上一个游戏菜单。我错过了什么吗?

Q3。我如何编写代码才能返回主菜单?我已经复制了主菜单。但是当我再次尝试使用该应用程序时。它会终止自己。

import javax.swing.*;

import java.util.ArrayList;

public class gamelist {
public static void main(String args[]){

ArrayList<String> sku = new ArrayList<String> ();
sku.add("1");
sku.add("2");
sku.add("3");
sku.add("4");


ArrayList<String> games = new ArrayList<String>();
games.add("Swimming");
games.add("Running");
games.add("Cycling");
games.add("Basketball");

String mainMenu = JOptionPane.showInputDialog(" Main Menu\n 1." +
        " Display Each Game\n 2. Quit");

        int selectOption = Integer.parseInt(mainMenu);

        switch (selectOption){
        case 1:
            // Display 1st game
            String input1 = JOptionPane.showInputDialog(null, sku.get(0) + " " + games.get(0) + "\n\n" +
                    "Enter FW for Next "  + "\n" +
                    "Enter BK for Back"  + "\n" +
                    "Enter M to return to Main Menu."  + "\n");


            if (input1.equals("FW")){
                for ( int i=1;  i < sku.size(); i++){
                    JOptionPane.showInputDialog(null,sku.get(i) + " " + games.get(i) + "\n\n" +
                            "Enter FW for Next "  + "\n" +
                            "Enter BK for Back"  + "\n" +
                            "Enter M to return to Main Menu."  + "\n");
                }
            }
                else if( input1.equals("BK")){

                for ( int j=1;  j < sku.size(); j--) {
                    JOptionPane.showInputDialog(null,sku.get(j) + " " + games.get(j) +"\n\n" +
                    "Enter FW for Next "  + "\n" +
                    "Enter BK for Back"  + "\n" +
                    "Enter M to return to Main Menu."  + "\n");

                        }
                }

                else if( input1.equals("M"))
                    JOptionPane.showInputDialog(" Main Menu\n 1." +
                            " Display Each Game\n 2. Quit");

                        break;

        default:

              JOptionPane.showMessageDialog(null, "Goodbye");
              System.exit(0);
              break;

    }

   }
}

1 个答案:

答案 0 :(得分:-1)

这只是Q3的答案。

不要在amin菜单中写break; ...