您可以使用字符串拆分创建交互式菜单吗?

时间:2019-05-17 06:37:07

标签: java string split menu

对于学校的一个项目,我的教授希望我们使用字符串分割来创建菜单。她没有介绍如何执行此操作,所以我有点迷茫。

这是作业说明:

“对于项目4,我希望您接受项目3并在其上使用基于命令行的菜单。这意味着您将使用命令字符串版本,而不是交互式菜单

购买1 历史 退出

您的程序必须表明您可以处理实现两种类型的程序接口。一种是使用交互式菜单询问他们想要做什么,另一种是使用命令字符串菜单,在该菜单中,您将命令作为字符串输入,而程序使用字符串分割。”

我似乎找不到任何其他资源来展示如何基于字符串用户输入来制作菜单。我不知道从哪里开始,我将不胜感激。谢谢!

System.out.println("Welcome! Enter a command. \n"
                    + "Enter 1) Buy Bitcoin \n"
                    + "Enter 2) Sell Bitcoin  \n"
                    + "Enter 3) Print Balance \n"
                    + "Enter 4) Print History \n"
                    + "ENTER 5) print USD\n"
                    + "Enter 6) Exit Program\n");
            choice = myscanner.nextInt();

1 个答案:

答案 0 :(得分:0)

正如Wisthler的评论中所述,您应该阅读整行并拆分String。以下代码示例向您展示了一种解决此任务的方法:

    // Example command
    String command = "print balance";

    String[] commandSplitted = command.split(" ");

    // You have to add a length check for the array
    if (commandSplitted[0].equals("print")) {
        // command part 1 is print
        if (commandSplitted[1].equals("history")) {
            // command part 2 is history
            // command is print history
            // ...
            System.out.println("enter 4");
        } else if (commandSplitted[1].equals("balance")) {
            // command part 2 is balance
            // command is print balance
            // ...
            System.out.println("enter 3");
        }//... depending on the amount of commands you might want to use a switch case on the split parts
    } // else if ...

下一步是完成此代码,并从上一个任务中添加您的阅读器(您将不得不对其进行修改)。

请注意,这只是一种方法,不能完全发挥作用。