java - 在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 和所有命令都是字符串并且输入command
也是字符串,您可以通过创建有效命令列表并执行包含检查来简化您尝试执行的操作。
List<String> validCommands = Arrays.asList("exit", "about", "date");
if (!validCommands.contains(command)) {
System.out.println("invalid command");
}
话虽如此,有更好的方法来维护 java 程序之外的有效命令列表,例如属性文件和从该文件加载有效命令的列表。这将使您的程序更易于维护。
推荐阅读
- vue.js - 在 v-card 中将不同的块居中
- c# - 如何在 C# 中仅将选定的字符设为大写
- qt - 如何多次设置 Layout.alignment?
- karate - 使用独立 karate.jar 运行测试时无法使用 read('classpath:')
- android - 在 Firestore 中删除文档时如何避免 NullPointerException?
- javascript - Javascript window.print() 方法只工作一次
- python - 如何实现获取参数列表或元组列表的代码?
- elasticsearch - 我们如何进行关键不敏感基数聚合?
- java - 在 recyclerview 中调用 textview 和 imageview
- python - numpy 数组:在作为输入的一组行和列的固定窗口内计算 argmax 的有效方法