3

プログラムがJavaで完了した後、コンソールが閉じないようにするにはどうすればよいですか?

4

4 に答える 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

  • スレッドを作成して開始できます。メイン メソッドが終了すると、デーモン スレッドは自動的に閉じられます。ただし、非デーモン スレッドは、終了するまでアプリケーションを存続させます。

  • 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();
    }
}
于 2015-10-30T19:10:42.047 に答える
-1

スキャナーはユーザーが ENTER を押すのを待つため、コードの最後で空のScanner入力を起動すると毎回機能します。

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

残念なことに、Java には、コンソール アプリ用の組み込みの待機または一時停止コマンドがありません。

編集: スキャナーを構築する場合は、次のようにします。

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

System.inどの入力ストリームを使用するかをスキャナに伝えるパラメータです。

于 2015-10-30T16:43:22.840 に答える