我正在为我的AP计算机科学最终项目创建一个基于文本的RPG,我想让它在任何时候都可以输入" help"它将在控制台中显示一条消息。我能想到的唯一方法就是使用Scanner导入并执行以下操作:
String help = scan.nextLine();
switch(help) {
case help:
System.out.println("help message");
break;
}
我一直在教自己Java这个项目我很新,我知道这可能是一个非常低效的方法,更不用说它只能在1点工作。因此,如果有人能指出我正确的方向,我将永远感激。 另外:我在提交这篇文章之前已经找到了答案,但我找不到一个描述如何在整个游戏中将它打印到控制台的内容。
答案 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;
}