2017-07-17 2 views
1

少しjava programmをコードします。 が毎秒私はコンソールにJava(コンソール)でCommandLineを作成するには

System.out.println("Test"); 

を値を印刷するのSystem.out場合、私は、一瞬でコマンドを記述します。ループが始まると、私のコマンドは単に消えて、System.out.println( "")と一緒になります。

これは私のコードです:

public class Main{ 
public static String s; 
public static void main(String[] args) { 

    printLogo(); 

    Timer timer = new Timer(); 
    timer.scheduleAtFixedRate(new TimerTask() { 
     public void run() { 

      Data.cpuUsage = ((OperatingSystemMXBean) ManagementFactory 
               .getOperatingSystemMXBean()) 
               .getSystemCpuLoad() * 100; 
      Data.totalMem = ((OperatingSystemMXBean) ManagementFactory 
               .getOperatingSystemMXBean()) 
               .getFreePhysicalMemorySize()/1000000; 

      System.out.println(Data.totalMemory); 
     } 
    }, 1000, 1000); 

    System.out.println("Please type a command:"); 

たぶん誰かが私を助けることができますか? 私の悪い英語を申し訳ありません。

+0

主な方法は終了しているため、タイマーは強制終了されています。 'ScheduledThreadExecutor'を使って調べましょう。 –

+0

あなたはウェブサイトかsthを知っていますか?それ以外は? – Pascal

+0

ここをクリックしてください:https://stackoverflow.com/questions/1321620/waiting-for-a-timer-to-finish-in-java –

答えて

0

あなたの問題は、毎秒印刷していることです。使用タイプが何かを入力すると、最後に印刷された行に連結されます。端末内に何らかの形のUIを持たせたいなら、何らかのタイプのライブラリ(あるいは少なくともSystem.out。*関数だけでなく)を使う必要があります。

Charvaをご覧ください。

関連する問題