[英]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.