在Java控制臺(tái)輸出進(jìn)度條可以通過使用控制臺(tái)打印來實(shí)現(xiàn)。以下是一個(gè)簡(jiǎn)單的示例代碼:
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); // 模擬任務(wù)執(zhí)行時(shí)間
} 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();
}
}
在上面的代碼中,我們定義了一個(gè)ProgressBar
類,其中的main
方法用來輸出進(jìn)度條。首先設(shè)置總的任務(wù)數(shù)量為100,然后使用一個(gè)循環(huán)來模擬任務(wù)執(zhí)行的進(jìn)度。在循環(huán)中,我們計(jì)算當(dāng)前進(jìn)度百分比并輸出進(jìn)度條,然后使用Thread.sleep
來模擬任務(wù)執(zhí)行時(shí)間。repeat
方法用來生成指定數(shù)量的重復(fù)字符串,這里用來生成進(jìn)度條中的#
和空格。最后通過控制臺(tái)的\r
換行符來實(shí)現(xiàn)動(dòng)態(tài)更新進(jìn)度條。
運(yùn)行以上代碼,你會(huì)在控制臺(tái)看到類似如下的輸出:
Progress: [#################### ] 50%
這個(gè)例子給出了一個(gè)基本的進(jìn)度條實(shí)現(xiàn),你可以根據(jù)自己的需求來擴(kuò)展和定制進(jìn)度條的樣式和功能。