在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%
这个例子给出了一个基本的进度条实现,你可以根据自己的需求来扩展和定制进度条的样式和功能。