首页 > 解决方案 > 在java中要求用户输入有效命令

问题描述

我正在开发自己的 shell(命令提示符)。[当
用户输入内置命令时,shell需要相应地搜索并执行相应的代码。]

我使用命令拆分和命令参数创建了我的代码,以便存储我的命令。但我感到困惑的一件事是制作一个不在列表中的命令。我想用 if 语句打印无效评论(例如)

if (command!="exit")||(command!="about")||(command!="date")||(command!="time")||(command!="hist")||(command!="notepad")
                    ||(command!="")||(command!="hist -h")||(command!="hist -l")||(command!="c"){

System.out.println("invalid command");
}

但是如果有大量的命令行,这个语句就太多了。那么有没有一种简单的方法来实现它!?

标签: java

解决方案


如果此 java 和所有命令都是字符串并且输入command也是字符串,您可以通过创建有效命令列表并执行包含检查来简化您尝试执行的操作。

List<String> validCommands = Arrays.asList("exit", "about", "date");
if (!validCommands.contains(command)) {
    System.out.println("invalid command");
}

话虽如此,有更好的方法来维护 java 程序之外的有效命令列表,例如属性文件和从该文件加载有效命令的列表。这将使您的程序更易于维护。


推荐阅读