[英]How to make my submenu return to Main Menu
我一直在尋找整個論壇,但我沒有找到解決方案。
我在 Main class 中有主 Switch 菜單來執行簡單的計算,它調用另一個 class 中的子菜單來進行計算並將值添加到數組中。 計算完成后,我想將 go 返回到主菜單和 select 選項 2 顯示數組,我創建主 class 的新實例,但是它可以工作,但我的數組為空。
我該如何解決?
public class MainMenu {
public static void main(String[] args) {
MainMenu menu = new MainMenu();
menu.Menu();
}
public void Menu() {
Submenu submenu = new Submenu();
int option;
Scanner scanner = new Scanner(System.in);
System.out.println("1 - Calc. 2- Exit");
option = scanner.nextInt();
switch (option) {
case 1:
System.out.println("Option 1");
submenu.Calc();
break;
case 2:
System.out.println("Show Array");
System.out.println(submenu.toString());
break;
}
}
}
子菜單 Class:
public class Submenu {
MainMenu menu = new MainMenu();
ArrayList<Integer> arrayTest = new ArrayList<>();
private int sum;
public void Calc() {
sum = 5 + 5;
arrayTest.add(sum);
menu.Menu();
}
@Override
public String toString() {
return "Array Test: " + arrayTest;
}
}
我做了一些改變試圖解決它。 我有我的 MainMenu class 將實例傳遞給另一個 class 中的子菜單。 但是,我有一個無限循環,有什么建議嗎?
公共 class 主菜單 {
private int option;
Submenu submenu = new Submenu(new MainMenu());
public void Menu() {
Scanner scanner = new Scanner(System.in);
System.out.println("1 - Calc. 2- Show Array");
option = scanner.nextInt();
switch (option) {
case 1:
System.out.println("Option 1");
submenu.Calc();
break;
case 2:
System.out.println("Show Array");
break;
}
}
}
公共 class 子菜單 {
private int sum;
MainMenu a;
ArrayList<Integer> arrayTest = new ArrayList<>();
public Submenu(MainMenu object) {
this.a = object;
}
public void Calc() {
sum = 5 + 5;
System.out.println("Sum: " + sum);
a.Menu();
}
@Override
public String toString() {
return "Array Test: " + arrayTest;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.