簡體   English   中英

System.out.println()無法按我的要求在for循環中工作

[英]System.out.println() doesn't work as i want in the for loop

首先,對不起我的英語不好。 我在講我語言的論壇上寫了我的問題。 但是我沒有得到答案。 我希望你能幫助我。

當我編寫for循環時,循環結束后, System.out.println()JTextArea.setText()命令開始工作。 我的部分代碼:

for(int pixelCount = 0;pixelCount<pixelLength;pixelCount++){

  System.out.println("Progress..:"+pixelCount+"/"+pixelLength);



  int x = pixelCount%Image.getWidth();
  int y = pixelCount/Image.getWidth();
  if(isChange==1){
    if(new Color(Image.getRGB(x, y)).getRed()%2==0){
        Image.setRGB(x, y,new Color(new Color(Image.getRGB(x, y)).getRed()+1,
                                    new Color(Image.getRGB(x, y)).getGreen(),
                                    new Color(Image.getRGB(x, y)).getBlue(),
                                    new Color(Image.getRGB(x, y)).getAlpha()).getRGB());}
}

循環有時會很長。 因此,我將其打印在屏幕上以查看循環的進度。 當我按下按鈕時,循環開始。 但是,當我按下按鈕時,System.out.println()命令隨后出現。

編輯:我應該如何在循環中編寫進度?

編輯:我解決了這個問題,朋友。 System.out.println()命令工作正常。 for循環開始之前有一個replace命令。 程序在for循環開始之前在此花費時間。 感謝所有花時間幫助我的人

在打印后調用System.out.flush()或使用System.err.println

System.out是一個緩沖的流,該緩沖流在緩沖區已滿,刷新時或在系統認為有用的其他時間打印。 System.err是無緩沖的,並且還是調試和診斷信息(例如進度信息)的首選流。

Erwin Bolwidt已經提到使用System.our.flush()。 輸出的工作方式很大程度上取決於您使用的OS(和終端)的類型。 例如,對於* nix系統,您可以考慮某種類似於Curses的庫(它最初是C庫,但是我確定有一些Java實現)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM