在Java控制臺輸出進度條可以通過使用控制臺打印來實現。以下是一個簡單的示例代碼:
public class ProgressBar {
public static void main(String[] args) {
int total = 100;
for (int i = 0; i <= total; i++) {
int progress = (int) ((double)i/total * 100);
System.out.print("\rProgress: [" + repeat("#", progress) + repeat(" ", 100-progress) + "] " + progress + "%");
try {
Thread.sleep(100); // 模擬任務執行時間
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static String repeat(String str, int times) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < times; i++) {
sb.append(str);
}
return sb.toString();
}
}
在上面的代碼中,我們定義了一個ProgressBar
類,其中的main
方法用來輸出進度條。首先設置總的任務數量為100,然后使用一個循環來模擬任務執行的進度。在循環中,我們計算當前進度百分比并輸出進度條,然后使用Thread.sleep
來模擬任務執行時間。repeat
方法用來生成指定數量的重復字符串,這里用來生成進度條中的#
和空格。最后通過控制臺的\r
換行符來實現動態更新進度條。
運行以上代碼,你會在控制臺看到類似如下的輸出:
Progress: [#################### ] 50%
這個例子給出了一個基本的進度條實現,你可以根據自己的需求來擴展和定制進度條的樣式和功能。