需要帮助创建"帮助"用户可以随时键入并查看关键字或获取帮助的命令

时间:2017-03-18 03:01:54

标签: java

我正在为我的AP计算机科学最终项目创建一个基于文本的RPG,我想让它在任何时候都可以输入" help"它将在控制台中显示一条消息。我能想到的唯一方法就是使用Scanner导入并执行以下操作:

    String help = scan.nextLine();
    switch(help) {
        case help:
        System.out.println("help message");
        break;
}

我一直在教自己Java这个项目我很新,我知道这可能是一个非常低效的方法,更不用说它只能在1点工作。因此,如果有人能指出我正确的方向,我将永远感激。 另外:我在提交这篇文章之前已经找到了答案,但我找不到一个描述如何在整个游戏中将它打印到控制台的内容。

3 个答案:

答案 0 :(得分:0)

使用巨大的if..elif..then语句捕获命令,而不是switch语句。不要忘记使用String.equals()方法来比较字符串!了解here

的原因
String cmd = scan.nextLine();
if(cmd.equals("help")) {
    System.out.println("help message");
} else if(cmd.equals("move")) {
    System.out.println("move");
} else {
    System.out.println("I'm sorry, I did not understand that command :(")
}

答案 1 :(得分:0)

您可以创建一个处理请求帮助的方法,您将始终使用该方法而不是public static String getNextLine(Scanner scan) { String str = scan.nextLine(); //Get the next line if (str.equals("help") { //Check whether the input is "help" System.out.println(/* help */); //if the input is "help", print your help text return getNextLine(scan); //try again. else { return str; //return the inputted string } }

scan.nextLine

现在,只要您使用getNextLine(scan),请使用equalsIgnoreCase。这样,您将自动考虑用户输入“帮助”的时间。 (只是提示,您可能希望使用equals而不是success: function() { $(this).parent().parent().remove(); console.log("it Work"); } ,以便在用户输入“帮助”时,您的代码仍然有效。)

答案 2 :(得分:0)

除了CommandLine之外,我还会使用Apache Commons HelperFormatter类:

private static final String HELP = "help";
private static final String SOME_OTHER_TOGGLE = "toggle";

/**
 * See --help for command line options.
 */
public static void main(String[] args) throws ParseException {
    Options options = buildOptions();
    CommandLineParser parser = new DefaultParser();
    CommandLine line = parser.parse(options, args);

    if (line.hasOption(HELP)) {
        printHelp(options);
    }
}

private static void printHelp(Options options) {
    String header = "Do something useful with an input file\n\n";
    String footer = "\nPlease report issues at http://example.com/issues";

    HelpFormatter formatter = new HelpFormatter();
    formatter.printHelp("myapp", header, options, footer, true);
}

private static Options buildOptions() {
    Options options = new Options();
    options.addOption(OptionBuilder
        .withLongOpt(SOME_OTHER_TOGGLE)
        .withDescription("toggle the foo widget in the bar way")
        .create()
    );
    options.addOption(OptionBuilder
        .withLongOpt(HELP)
        .withDescription("show the help")
        .create()
    );

    // ... more options ...

    return options;
}