在Java中为终端应用程序创建命令

h.d*_*off 7 java shell command-line

我是编程新手,我正在创建一个在命令行中运行的应用程序.我发现我可以使用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();
Run Code Online (Sandbox Code Playgroud)

我现在要做的是找到一种方法来创建不同的"命令",只需在命令行中键入它们就可以使用它们.但是这些命令可能必须多次使用.我是否必须使用某种命令设计模式和一个巨大的switch语句(这对我来说似乎不对)?我想避免使用额外的库.

有没有更多经验的人可以帮助我吗?

nLe*_*Lee 5

你可以尝试这样的事情:

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");
}
Run Code Online (Sandbox Code Playgroud)

保持variables小写是一种很好的做法。

我还要说这!Input.equalsIgnoreCase("stop")Input.equalsIgnoreCase("stop") == false虽然两者在逻辑上等价的可读性强得多。