我有3个问题。如果能告诉我如何解决这些问题,我将不胜感激。
我的应用程序从主菜单开始。当我插入1时,它将显示第一个游戏的详细信息。当我在对话框中插入"FW"时,它将带我进入下一个游戏的详细信息。一个"BK"会让我回到以前的游戏细节。
问题1.我的问题是,即使我插入了错误的字母命令,应用程序也会让我了解下一个游戏的详细信息。我如何确保只服从正确的命令?
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 Menun 1." +
" Display Each Gamen 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) + "nn" +
"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) + "nn" +
"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) +"nn" +
"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 Menun 1." +
" Display Each Gamen 2. Quit");
break;
default:
JOptionPane.showMessageDialog(null, "Goodbye");
System.exit(0);
break;
}
}
}
这只是Q3的答案。
不要在菜单框中写入break;
。。。