在 Java 中完成程序后,如何防止控制台关闭?
问问题
13661 次
4 回答
4
readLine()
等到你按下一个键:
public static void main (String[] args) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
in.readLine();
}
于 2015-11-01T20:26:30.843 回答
3
我发现的最简单的方法:
Scanner scanner = new Scanner(System.in);
scanner.nextLine();
于 2016-10-08T00:11:01.193 回答
1
有几种方法可以实现这一点。
您可以在
main
方法结束时请求用户输入。您可以创建和启动线程。当您的 main 方法完成时,守护线程会自动关闭。然而,非守护线程将使您的应用程序保持活动状态,直到它们完成。
或者只是调用
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();
}
在对象上调用 wait :
public static void main(String[] args)throws Exception {
Object o = new Object();
synchronized (o) {
o.wait();
}
}
于 2015-10-30T19:10:42.047 回答
-1
Scanner
每次在代码末尾触发空输入都有效,因为扫描仪等待用户按 ENTER。
//to-do your code
Scanner.nextLine();
Shame Java 没有控制台应用程序的内置等待或暂停命令。
编辑:如果你想构建扫描仪,你这样做:
Scanner scanner = new Scanner(System.in);
scanner.nextLine();
System.in
是告诉扫描器使用哪个输入流的参数。
于 2015-10-30T16:43:22.840 回答