public final static class ProgressBar {
/**
* 进度条
*
* @param speedNum 等待因子,越大越慢。
*/
public static void progressBar(int speedNum) {
char incomplete = '░';
char complete = '█';
int total = 100;
Random rd = new Random();
StringBuilder sb = new StringBuilder();
// Stream.generate(() -> incomplete).limit(total).forEach(sb::append);
for (int i = 0; i < total; i++) {
sb.append(incomplete);
}
for (int i = 0; i < total; i++) {
sb.replace(i, i + 1, String.valueOf(complete));
String progressBar = "\r" + sb;
String percent = " " + (i + 1) + "%";
System.out.print(progressBar + percent);
try {
Thread.sleep(rd.nextInt(5) * speedNum);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
/**
* 无参数默认 10。
*/
public static void progressBar() {
char incomplete = '░';
char complete = '█';
int total = 100;
Random rd = new Random();
StringBuilder sb = new StringBuilder();
// Stream.generate(() -> incomplete).limit(total).forEach(sb::append);
for (int i = 0; i < total; i++) {
sb.append(incomplete);
}
for (int i = 0; i < total; i++) {
sb.replace(i, i + 1, String.valueOf(complete));
String progressBar = "\r" + sb;
String percent = " " + (i + 1) + "%";
System.out.print(progressBar + percent);
try {
Thread.sleep(rd.nextInt(5) * 10);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
记得导对应的包