私のクラスのメニュー駆動型計算プログラムを生成しています。サブメニューが完了した後にルートメニューに戻らない理由を理解しようとしています。主要な引数が設定されていると、オプション1〜4と6は意図したとおりに正常に動作します。オプション5は、サブメニューをプルアップし、正しい応答をキューに入れますが、サブメニューのループに戻るだけです。私は何が欠けているか、プログラムを終了せずに壊れてルートに戻る方法がありますか?助けてくれてありがとう!JAVAテキストベースのメニューがルートメニューに戻らない
主な引数:
public static void main(String[] args)
{
Final_Project project = new Final_Project();
int selection = 0;
while (selection != 6)
{
selection = project.mainMenu();
if (selection == 1)
project.addition();
else if (selection == 2)
project.subtraction();
else if (selection == 3)
project.multiplication();
else if (selection == 4)
project.division();
else if (selection == 5)
{
project.subMenu();
int subSelection = 0;
while (subSelection != 2)
{
subSelection = project.subMenu();
if (subSelection == 1)
project.displayAdditionTable();
else if (subSelection == 2)
project.displayMultiplicationTable();
else
System.out.println("Invalid menu options selected, try again\n");
}
}
else if (selection == 6)
project.exitProgram();
else
System.out.println("Invalid menu options selected, try again.\n");
}
}
メインメニュー:
private int mainMenu()
{
Scanner kb = new Scanner(System.in);
System.out.println("Welcome to the Java Calculator!\n");
System.out.println("MAIN MENU\n");
System.out.println("1. Addition");
System.out.println("2. Subtraction");
System.out.println("3. Multiplication");
System.out.println("4. Division");
System.out.println("5. Display Study Tables");
System.out.println("6. Exit\n");
System.out.println("Please select an option from the menu:");
return kb.nextInt();
}
サブメニュー:
private int subMenu()
{
Scanner kb = new Scanner(System.in);
System.out.println("Display Study Tables selected:\n");
System.out.println("SUB MENU\n");
System.out.println("1. Addition");
System.out.println("2. Multiplication");
System.out.println("Please select an option from the menu:");
return kb.nextInt();
}
表プレースホルダの例:
private void displayAdditionTable()
{
System.out.println("Display Study Tables selected:\n");
}