2016-04-08 22 views
1

私は、左右に移動し続ける読み込み単語を表示するための簡単なコードを書いています。前のものが印刷を続けている間に別の文字列を印刷することは可能ですか?他の文字列が印刷されている間に文字列を印刷するにはどうすればよいですか?

それは次のようになります。

..loading(単語が動き続ける)
メインファイルがロードされて。
バックアップファイルがロードされました。
....私は次の行のコードがローディングコードと分離したい

(ローディングがまだ動いている間、これらのラインは、一度だけ印刷されます)。

ロードワードコード:

public static void main(String[] args) throws Exception 
    { 
     for (int i=0; i<86; i++) 
     { 
      if (i%17 == 0) 
       System.out.print(".......... \r"); 
      if (i%17 == 1) 
       System.out.print(".........L \r"); 
      if (i%17 == 2) 
       System.out.print("........Lo \r"); 
      if (i%17 == 3) 
       System.out.print(".......Loa \r"); 
      if (i%17 == 4) 
       System.out.print("......Load \r"); 
      if (i%17 == 5) 
       System.out.print(".....Laodi \r"); 
      if (i%17 == 6) 
       System.out.print("....Loadin \r"); 
      if (i%17 == 7) 
       System.out.print("...Loading \r"); 
      if (i%17 == 8) 
       System.out.print("..Loading. \r"); 
      if (i%17 == 9) 
       System.out.print(".Loading.. \r"); 
      if (i%17 == 10) 
       System.out.print("Loading... \r"); 
      if (i%17 == 11) 
       System.out.print("oading.... \r"); 
      if (i%17 == 12) 
       System.out.print("ading..... \r"); 
      if (i%17 == 13) 
       System.out.print("ding...... \r"); 
      if (i%17 == 14) 
       System.out.print("ing....... \r"); 
      if (i%17 == 15) 
       System.out.print("ng........ \r"); 
      if (i%17 == 16) 
       System.out.print("g......... \r"); 


      Thread.sleep(150); 
     } 

    } 
+0

Windowsのコマンドプロンプトでコードを実行します。 – farshad

答えて

1

アダムは、あなたがスレッドを使用する必要があることをあなたに言ってtriyingされます。

スレッドはJavaのプロセスです。コードはメインスレッドプロセッサで実行されていますが、同時に別のものを作成してコンピュータ情報で並行処理と呼ばれることもあります。

私は多分これはあなたを助けることができる、あなたはJavaでスレッドの詳細については何かを学ぶお勧めします。他の方のためにhttp://tutorials.jenkov.com/java-concurrency/creating-and-starting-threads.html

を、あなたは別の文字列を入れて条件の終わりにするSystem.out.printlnを置くことができます。

1

あなたは別のThreadでこれを行う必要があります。残念ながら、printの間に2つのスレッドにコンテキスト切り替えが行われないようにする必要があります。単語loadingCOUNTINGを印刷するとします。同期がなければ、印刷されるメッセージはloCOUaNTdiINGingのようになる可能性が非常に高いです。

ここで、Javaの並行処理についてお読みください:http://tutorials.jenkov.com/java-concurrency/index.html

+0

もう少し説明していただけますか? – farshad

+1

@farshad同時に複数のものを印刷し、それらが同期していることを確認するには、複数のスレッドを実行する必要があります。これは、スレッド2が重複を避けるために、どの文字がスレッド1によって印刷されているかを知る必要があることを意味します。アダムが提供した美しいリンクは別として、あなたにとって興味深いかもしれない[これは別のものです](http://www.tutorialspoint.com/java/java_multithreading.htm)。 –

+0

私はそれがどのように動作するのか理解していますが、私のような初心者のために高度なもののように見えますが、もっと詳しく知ろうとします。本当に便利ですか? – farshad

関連する問題