gpt4 book ai didi

java - 如何在 Java 控制台应用程序中制作进度条?

转载 作者:行者123 更新时间:2023-11-30 06:59:11 26 4
gpt4 key购买 nike

我正在尝试制作这样的进度条

[#        ] 10%
[##### ] 50%
[#########] 100%

我尝试了什么

public static void main(String[] args) throws InterruptedException {
String format = "[# ]%d%%\r";
for(int i=0;i<=100;i++){
System.out.print(String.format(format, i));
Thread.sleep(10);
}
}

输出:

[#        ] 10%
[# ] 50%
[# ] 100%

问题是我无法根据进度增加 # 计数。

那么我怎样才能移动或增加 # 呢?

最佳答案

您需要编写一段代码,生成以 # 开头并以空格结尾的十个字符的 String。向此方法传递一个从 0 到 100 的数字。该方法应将该数字除以十,然后向上舍入结果。这将为您提供十字符栏中 # 个字符的数量:

int numPounds = (pct + 9) / 10;

制作一个循环,追加 '#' numPounds 次,然后追加 ' ' 直到字符串的长度为十。在 [ ... ] 个字符之间打印结果以完成练习。

private static final StringBuilder res = new StringBuilder();;

static String progress(int pct) {
res.delete(0, res.length());
int numPounds = (pct + 9) / 10;
for (int i = 0 ; i != numPounds ; i++) {
res.append('#');
}
while (res.length() != 10) {
res.append(' ');
}
return res.toString();
}

public static void main (String[] args) throws java.lang.Exception
{
for (int i = 0 ; i <= 100 ; i++) {
Thread.sleep(10);
System.out.print(String.format("[%s]%d%%\r", progress(i), i));
}
}

关于java - 如何在 Java 控制台应用程序中制作进度条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31771003/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com