首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

(Java)尝试创建基本的基于文本的进度条,但输出不一致

在Java中创建基于文本的进度条时,可以使用字符串拼接的方式来实现。以下是一个示例代码:

代码语言:txt
复制
public class TextProgressBar {
    public static void main(String[] args) {
        int total = 100; // 总进度
        int current = 0; // 当前进度

        // 更新进度条
        while (current <= total) {
            String progressBar = createProgressBar(current, total);
            System.out.print("\r" + progressBar); // 使用\r回车符实现进度条的动态更新
            current++;
            try {
                Thread.sleep(100); // 模拟耗时操作
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

    // 创建进度条字符串
    private static String createProgressBar(int current, int total) {
        int percentage = current * 100 / total; // 计算当前进度百分比
        int completedBlocks = percentage / 2; // 计算已完成的块数
        int remainingBlocks = 50 - completedBlocks; // 计算剩余的块数

        StringBuilder progressBar = new StringBuilder();
        progressBar.append("[");
        for (int i = 0; i < completedBlocks; i++) {
            progressBar.append("=");
        }
        progressBar.append(">");
        for (int i = 0; i < remainingBlocks; i++) {
            progressBar.append(" ");
        }
        progressBar.append("] ");
        progressBar.append(percentage).append("%");

        return progressBar.toString();
    }
}

这段代码会创建一个基于文本的进度条,并以每秒钟前进一步的速度进行更新。进度条由50个块组成,每个块用等号表示已完成的进度,剩余的块用空格表示。进度条的百分比会显示在进度条的末尾。

这是一个简单的示例,可以根据实际需求进行扩展和定制。在实际应用中,可以将进度条嵌入到长时间运行的任务中,以提供用户友好的进度展示。

腾讯云相关产品和产品介绍链接地址:

请注意,以上链接仅供参考,具体产品选择应根据实际需求和项目要求进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券