[英]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.