java - 以编程方式退出应用程序的适当方法是什么?

标签 java stdout user-input exit-code

我正在评估用户输入作为我的应用程序的命令。如果用户按 Qq,然后按 Enter 键,应用程序将退出并终止执行。

是否有适当的背景或最佳实践来说明如何做到这一点?我没有任何资源可以释放,或者类似的东西。我应该只使用 System.exit(0); ?有推荐的方法吗?

作为我的第一种方法,我做了这样的事情:

while (true){
    try{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        //Other logic goes here...
        if (br.readLine().equalsIgnoreCase("Q")){
            System.exit(0);
        }
    }
    catch (IOException ioe) {
        System.out.println("IO error trying to read your selection");
    }
}

最佳答案

您不妨返回到 main() 并从那里返回。

    private void loop() {
        while (true){
           try{
               BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

               //other logic goes here...
               if(br.readLine().equalsIgnoreCase("Q")){
                   return; // You're done and you are returning to the caller.
               }
           }
           catch (IOException ioe) {
               System.out.println("IO error trying to read your selection");
           }
        }
    }

    public static void main(String[] args) {
        loop();
    }

但是如果您没有任何要释放的内容,System.exit(0) 就可以了。

关于java - 以编程方式退出应用程序的适当方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1736245/

相关文章:

python - 停止函数写入标准输出

c# - 删除许多相同字符的实例(C#)

JavaFX StackPane 不显示方法内部的对象

java - 堆栈跟踪警告 "No bean factory"

Python 使用 sys.stdout 打印尾随逗号行为

java - 使用 Java 模式检查是否存在负面列表字符

javascript - 如何在同一个 if/else 函数中包含单选按钮和文本字段?

java - 聊天应用程序 - 当聊天 Activity 位于前台时如何停止推送通知?

java - 从java程序调用C编译器

c - 如何使用 dup 和/或 dup2 将标准输出重定向到管道,然后输出到另一个管道,然后再返回到标准输出?