おわかりのように、私はこの Stack Over Flow を初めて使用します。プログラミングをしているときは、ほとんどの場合、ここで投稿を読んでしまいます。なかなか良さそうなところだったので、参加することにしました。スパムを許可してくれてありがとう。
私のコードは数分前に機能していました。私が偶然にやったのは愚かなことだと確信しています。数字を入力すると、7作品を除くすべてのメニューオプションが機能します。7 を入力すると、Invalid option というボックスがポップアップ表示されます。if ステートメントを使用して、whatToDo が実際には 7 に等しくても、ボックスがポップアップする可能性があると推測しました。
package TB_Game;
import java.util.Scanner;
import javax.swing.JOptionPane;
public class TB_Game {
public static void main(String[] args) {
menu();
}
public static void menu() {
String whatToDo;
try {
whatToDo = JOptionPane.showInputDialog("Welcome to the TextBased Game! " + "\n"
+ "\n" + "Which game do you wish to play?" + "\n"
+ "1 - Gangup - Work in Progress" + "\n"
+ "2 - Black Jack - Not Been Finished" + "\n"
+ "3 - Encryption - Non GUI" + "\n"
+ "4 - Decryption - Non GUI" + "\n"
+ "5 - Encryption GUI" + "\n"
+ "6 - Decryption GUI" + "\n"
+ "7 - Alchemy - Work In Progress" + "\n"
+ "8 - Exit");
if (whatToDo.equalsIgnoreCase("Gangup") || whatToDo.equalsIgnoreCase("1")) {
gangup.startGangup();
}
else if (whatToDo.equalsIgnoreCase("Black Jack") || whatToDo.equalsIgnoreCase("2")) {
JOptionPane.showMessageDialog(null, "Black Jack has not been finished",
"Text Based Game", JOptionPane.PLAIN_MESSAGE);
menu();
}
else if (whatToDo.equalsIgnoreCase("Encryption") || whatToDo.equalsIgnoreCase("3")) {
cryption.encrypt();
}
else if (whatToDo.equalsIgnoreCase("Decryption") || whatToDo.equalsIgnoreCase("4")) {
cryption.decrypt();
}
else if (whatToDo.equalsIgnoreCase("Encryption GUI") || whatToDo.equalsIgnoreCase("5")) {
cryptionGUI.encrypt();
}
else if (whatToDo.equalsIgnoreCase("Decryption GUI") || whatToDo.equalsIgnoreCase("6")) {
cryptionGUI.decrypt();
}
else if (whatToDo.equalsIgnoreCase("Alchemy") || whatToDo.equalsIgnoreCase("7")) {
Alchemy.startAlchemy();
}
else if (whatToDo.equalsIgnoreCase("Exit") || whatToDo.equalsIgnoreCase("8")) {
exit();
} else {
JOptionPane.showMessageDialog(null, "Invalid Option",
"Text Based Game", JOptionPane.PLAIN_MESSAGE);
menu();
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Invalid Option",
"Text Based Game", JOptionPane.PLAIN_MESSAGE);
menu();
}
}
public static void exit() {
int quit;
quit = JOptionPane.showConfirmDialog(null,
"Do you wish to close TB Game?");
if (quit == 0) {
System.exit(0);
} else {
menu();
}
}
}
ここにコピーして貼り付けたため、書式設定が少し混乱しています。