java - 用户输入处理模式

标签 java console-application design-patterns

我需要做一些带有菜单和子菜单的基本 Java 控制台应用程序。结构应该如下所示:

主菜单:

(1)     Menu 1
(2)     Menu 2
(0)     Exit  

Menu 1 
(1)  Submenu 1 
(2)  Submenu 2 
(3)  Submenu 3 
(4)  Return to menu 1

因此,当用户输入 1 时,将打印菜单 1 等...

我的问题是,我可以通过某种模式实现这种事情,并创建更动态的方法,还是我只能使用 if switch 语句?

提前致谢

最佳答案

您可以创建一个对象,其中包含子菜单的字符串数组以及与其按键值对应编号的子菜单对象数组,而不是使用 switch 语句。为此,您可以使用这样的方法来返回子菜单:

menu getSubmenu(int keyval){
    return menulist[keyval];
}

我会将其余的实现工作留给您。

关于java - 用户输入处理模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13113735/

相关文章:

algorithm - 表示非方形棋盘游戏的数据结构

java - Arraylist求助,如何将单个对象添加到列表中?

java - 在 Java 中绘制虚线时的性能问题

java - Headless Chrome - 获取空白页面源

node.js - 为什么 Node.js 脚本控制台会在 Windows 8 中立即关闭?

c# - NLog 控制台应用程序

design-patterns - 横切关注点示例

java - 对如何以编程方式向 jtable 添加列感到困惑

c# - 如何在 C# 控制台应用程序中禁用用户输入?

c++ - 如何在没有外部标志的情况下仅在循环内运行一次代码?