我是编程新手,我正在制作一个仅在命令行中运行的应用程序。我发现我可以使用 BufferedReader 从命令行读取输入。
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String Input = "";
while (Input.equalsIgnoreCase("Stop") == false) {
Input = in.readLine();
//Here comes the tricky part
}
in.close();
我现在想做的是找到一种方法来创建不同的“命令”,您只需在命令行中键入它们即可使用。但是这些命令可能必须多次使用。我是否必须使用某种带有巨大 switch 语句的命令设计模式(这对我来说似乎不正确)?我想避免使用额外的库。
有比我更有经验的人可以帮助我吗?
最佳答案
你可以尝试这样的事情:
public static void main(String[] args) {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String input = "";
try {
while (!input.equalsIgnoreCase("stop")) {
showMenu();
input = in.readLine();
if(input.equals("1")) {
//do something
}
else if(input.equals("2")) {
//do something else
}
else if(input.equals("3")) {
// do something else
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void showMenu() {
System.out.println("Enter 1, 2, 3, or \"stop\" to exit");
}
保持变量
小写是个好习惯。
我还要说 !Input.equalsIgnoreCase("stop")
比 Input.equalsIgnoreCase("stop") == false
更具可读性,尽管两者都是逻辑上等价。
关于java - 在 Java 中为终端应用程序创建命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31992518/