程序完成后如何防止控制台关闭?

时间:2015-10-30 16:39:59

标签: java jar console sleep pause

在用Java完成程序后,如何防止控制台关闭?

4 个答案:

答案 0 :(得分:2)

我找到的最简单的方法:

Scanner scanner = new Scanner(System.in); 
scanner.nextLine();

答案 1 :(得分:1)

readLine()等到你按下一个键:

public static void main (String[] args) throws IOException
{
    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    in.readLine();
}

答案 2 :(得分:0)

有几种方法可以实现这一目标。

  • 您可以在main方法的最后请求用户输入。

  • 您可以创建并启动一个帖子。主方法完成后,Deamon线程会自动关闭。但是,非deamon线程将使您的应用程序保持活动状态,直到它们完成。

  • 或者只是在对象上调用wait

我不确定,为什么你想让应用程序保持活着状态,如果它不再做任何事情了。

使用非反诈骗线程

// example of an application that never closes.
public static void main(String[] args) {
    new Thread(new Runnable() {
        @Override
        public synchronized void run() {
            for(;;)
                try {
                    wait();
                } catch (InterruptedException e) {
                }
        }
    }).run();
}

在对象上调用等待:

public static void main(String[] args)throws Exception {
    Object o = new Object();
    synchronized (o) {
        o.wait();
    }
}

答案 3 :(得分:-1)

每次在代码末尾触发空Scanner输入,因为扫描程序等待用户按ENTER键。

//to-do your code
Scanner.nextLine();

Shame Java没有为控制台应用程序提供内置的等待或暂停命令。

编辑:如果你想构建扫描仪,你可以这样做:

Scanner scanner = new Scanner(System.in); 
scanner.nextLine();

System.in是告诉扫描器使用哪个输入流的参数。