在科学技术与经济水平高速发展的21世纪,掌握一门扎实的技术对每一个人来说都是极其重要的。今天主要为大家介绍一下,java中进度条功能的实现原理是什么,以及通过一个实例代码来向大家展示究竟该怎么操作。

首先,我们需要知道的是,进度条功能执行命令的原理是什么?

它的关键是用到了这个函数:System.out.print("\b");

其中转义符\b的作用就是删除游标前面的一个字符。

这里为大家举例说明一下:System.out.print("hello,world!");

System.out.print("\b\b");

执行完第一行后是输出:hello, world!

注意这里用的都是print函数,而不是println函数。当我们执行到第二行后,输出就变为:hello, worl

因为有两个\b,所以删除两个字符,因此删掉了d和!,还剩下hello,worl。这就是它的原理,原理了解了之后,它的效果实现就比较简单了。接下来通过一个实例代码来为大家展示。

实例如下所示:public class ProgressBar

{

private int index = 0;

private String finish;

private String unFinish;

// 进度条粒度

private final int PROGRESS_SIZE = 50;

private int BITE = 2;

private String getNChar(int num, char ch)

{

StringBuilder builder = new StringBuilder();

for (int i = 0; i

{

builder.append(ch);

}

return builder.toString();

}

public void printProgress() throws InterruptedException

{

System.out.print("Progress:");

finish = getNChar(index / BITE, '█');

unFinish = getNChar(PROGRESS_SIZE - index / BITE, '─');

String target = String.format("%3d%%[%s%s]", index, finish, unFinish);

System.out.print(target);

while (index <= 100)

{

finish = getNChar(index / BITE, '█');

unFinish = getNChar(PROGRESS_SIZE - index / BITE, '─');

target = String.format("%3d%%├%s%s┤", index, finish, unFinish);

System.out.print(getNChar(PROGRESS_SIZE + 6, '\b'));

System.out.print(target);

Thread.sleep(50);

index++;

}

}

}

以上就是关于java进度条功能的实现原理,以及相关的代码实例展示。想要了解更多有关java程序代码例子,敬请关注奇Q工具网。

推荐阅读:

java 进度条实现原理_java进度条功能的实现原理是什么?实例展示相关推荐

  1. java 创建多维数组_java中如何创建一个多维数组?实例展示

    在互联网产业发展的越发如火如荼的今时今日,越来越多的人开始投入到新兴技术的学习当中去.java作为一门十分重要的编程语言,是许多人首选的学习对象.今天就来为大家介绍一下java中如何创建一个多维数组, ...

  2. java 进度条 不更新_java 进度条不能刷新解决方案 (已更新一次)

    java期末考试都考完了,实验课却还没完,课程设计也还没开始做,本来打算把最后两次实验尽快做完,然后好好做课设,(我早就想写的坦克大战,过几天写好了,也肯定要整理发布出来).可却被多线程一题给坑了,题 ...

  3. java几何体类_java中Graphics2D的几何图形类有哪些?实例展示

    随着时代的进步与发展,越来越多的人开始投入到java的学习中来.今天就来为大家介绍一些java基础知识,java中Graphics2D的几何图形类有哪些,并且通过实际的代码为大家展示. java中Gr ...

  4. java幻灯片效果_java中怎么实现幻灯片切换特效?详细实例展示

    在java的使用过程中,我们会发现它的功能真的很强大,完成内容也极其丰富.今天就给大家介绍一下如何在java中实现幻灯片切换特效,以及通过实际的代码来为大家展示. 在最开始,需要说明的是,这个代码是实 ...

  5. java获取字典所有的key_java字典,多层字典,斗地主发牌,实例展示

    在我们的日常工作与生活当中,java都有涉及到.它具有十分强大的功能,并且内容也极其丰富,使用频率也是很高的,所以大家对于java的学习热情也是十分积极的.今天就来为大家介绍java字典,多层字典,斗 ...

  6. java 进度条时间设置_java进度条

    练习JProgressBar结合Timer使用. 代码如下: package luojing; import java.awt.*; import java.awt.event.*; import j ...

  7. java list原理_Java集合:ArrayList的实现原理

    目录: 一. ArrayList概述: ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存. ArrayList不是线程安全的,只能用在单 ...

  8. java双链表基本方法_Java数据结构之双端链表原理与实现方法

    本文实例讲述了Java数据结构之双端链表原理与实现方法.分享给大家供大家参考,具体如下: 一.概述: 1.什么时双端链表: 链表中保持这对最后一个连点引用的链表 2.从头部插入 要对链表进行判断,如果 ...

  9. java 中适配器原理_Java经典设计模式中关于适配器模式原理以及用法详解

    这篇文章主要介绍了Java经典设计模式之适配器模式,简单说明了适配器模式的概念.原理,并结合实例形式分析了java适配器模式的用法与相关注意事项,需要的朋友可以参考下 本文实例讲述了Java经典设计模 ...

  10. java sort()怎么实现的_Java中Array.sort()的排序原理

    People[]people={newPeople("小飞飞","2","2:41:28"),newPeople("小国" ...

最新文章

  1. 服务器上的hdfs的配置文件中,namenode不能设置成127.0.0.1或者localhost,要设置ip或者映射别名
  2. 2005年上海交通大学计算机研究生机试真题
  3. 在windows上编译apr等相关动态库
  4. 安装完成ubuntu系统后的基本的相关配置---Linux总结笔记
  5. (三)opencv_py之阈值处理
  6. mysql独有的函数_数据库之MySQL函数(一)
  7. 离线部署CDH5.16.1及各种坑
  8. LeetCode MySQL 185. 部门工资前三高的所有员工(dense_rank)
  9. vue-cli 脚手架移除、安装(最新版安装)、检测安装结果 - npm篇
  10. 2014年第一季度总结报告
  11. 【毕设】jsp+基于JB的人事管理系统(源代码+论文)
  12. 在HttpHandlers中使用Session
  13. 【人脸识别】基于matlab GUI BP神经网络人脸识别(含识别率)【含Matlab源码 891期】
  14. 人工智能专业就业有哪些岗位方向
  15. 统计软件测试应用,应用统计过程控制监控软件测试过程.PDF
  16. 浏览器Debugger
  17. 微软Project Europe或将帮助Win10应用开发
  18. 猫和老鼠服务器维修有问题,猫和老鼠常见问题怎么解决_游戏技巧攻略_3DM手游...
  19. 微整理IDEA快捷键
  20. leetcode刷题记录2:进度64, 2021.10.23

热门文章

  1. 软件测试常见的用例设计方法
  2. MEMS惯导—芯片封装有多重要
  3. ASEMI快恢复二极管型号大全之TO220和TO-3P封装
  4. 人工智能:一种现代方法 第四版 翻译序言
  5. 方案展示 | 基于全志A40i的激光喷码机解决方案
  6. Turbo码原理简介
  7. Android Ble蓝牙中如何获取RawData ,UUID,Major,Minor,Measured power at 1 meter的数据。
  8. 计算机局域网共享本地安全策略,如何设置局域网共享
  9. 小米电视共享计算机权限,小米电视局域网共享文件 小米盒子局域网共享视频通用方法...
  10. 凯撒/摩斯/栅栏/维吉尼亚/元音密码加解密的Python实现