java 进度条实现原理_java进度条功能的实现原理是什么?实例展示
在科学技术与经济水平高速发展的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进度条功能的实现原理是什么?实例展示相关推荐
- java 创建多维数组_java中如何创建一个多维数组?实例展示
在互联网产业发展的越发如火如荼的今时今日,越来越多的人开始投入到新兴技术的学习当中去.java作为一门十分重要的编程语言,是许多人首选的学习对象.今天就来为大家介绍一下java中如何创建一个多维数组, ...
- java 进度条 不更新_java 进度条不能刷新解决方案 (已更新一次)
java期末考试都考完了,实验课却还没完,课程设计也还没开始做,本来打算把最后两次实验尽快做完,然后好好做课设,(我早就想写的坦克大战,过几天写好了,也肯定要整理发布出来).可却被多线程一题给坑了,题 ...
- java几何体类_java中Graphics2D的几何图形类有哪些?实例展示
随着时代的进步与发展,越来越多的人开始投入到java的学习中来.今天就来为大家介绍一些java基础知识,java中Graphics2D的几何图形类有哪些,并且通过实际的代码为大家展示. java中Gr ...
- java幻灯片效果_java中怎么实现幻灯片切换特效?详细实例展示
在java的使用过程中,我们会发现它的功能真的很强大,完成内容也极其丰富.今天就给大家介绍一下如何在java中实现幻灯片切换特效,以及通过实际的代码来为大家展示. 在最开始,需要说明的是,这个代码是实 ...
- java获取字典所有的key_java字典,多层字典,斗地主发牌,实例展示
在我们的日常工作与生活当中,java都有涉及到.它具有十分强大的功能,并且内容也极其丰富,使用频率也是很高的,所以大家对于java的学习热情也是十分积极的.今天就来为大家介绍java字典,多层字典,斗 ...
- java 进度条时间设置_java进度条
练习JProgressBar结合Timer使用. 代码如下: package luojing; import java.awt.*; import java.awt.event.*; import j ...
- java list原理_Java集合:ArrayList的实现原理
目录: 一. ArrayList概述: ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存. ArrayList不是线程安全的,只能用在单 ...
- java双链表基本方法_Java数据结构之双端链表原理与实现方法
本文实例讲述了Java数据结构之双端链表原理与实现方法.分享给大家供大家参考,具体如下: 一.概述: 1.什么时双端链表: 链表中保持这对最后一个连点引用的链表 2.从头部插入 要对链表进行判断,如果 ...
- java 中适配器原理_Java经典设计模式中关于适配器模式原理以及用法详解
这篇文章主要介绍了Java经典设计模式之适配器模式,简单说明了适配器模式的概念.原理,并结合实例形式分析了java适配器模式的用法与相关注意事项,需要的朋友可以参考下 本文实例讲述了Java经典设计模 ...
- java sort()怎么实现的_Java中Array.sort()的排序原理
People[]people={newPeople("小飞飞","2","2:41:28"),newPeople("小国" ...
最新文章
- 服务器上的hdfs的配置文件中,namenode不能设置成127.0.0.1或者localhost,要设置ip或者映射别名
- 2005年上海交通大学计算机研究生机试真题
- 在windows上编译apr等相关动态库
- 安装完成ubuntu系统后的基本的相关配置---Linux总结笔记
- (三)opencv_py之阈值处理
- mysql独有的函数_数据库之MySQL函数(一)
- 离线部署CDH5.16.1及各种坑
- LeetCode MySQL 185. 部门工资前三高的所有员工(dense_rank)
- vue-cli 脚手架移除、安装(最新版安装)、检测安装结果 - npm篇
- 2014年第一季度总结报告
- 【毕设】jsp+基于JB的人事管理系统(源代码+论文)
- 在HttpHandlers中使用Session
- 【人脸识别】基于matlab GUI BP神经网络人脸识别(含识别率)【含Matlab源码 891期】
- 人工智能专业就业有哪些岗位方向
- 统计软件测试应用,应用统计过程控制监控软件测试过程.PDF
- 浏览器Debugger
- 微软Project Europe或将帮助Win10应用开发
- 猫和老鼠服务器维修有问题,猫和老鼠常见问题怎么解决_游戏技巧攻略_3DM手游...
- 微整理IDEA快捷键
- leetcode刷题记录2:进度64, 2021.10.23
热门文章
- 软件测试常见的用例设计方法
- MEMS惯导—芯片封装有多重要
- ASEMI快恢复二极管型号大全之TO220和TO-3P封装
- 人工智能:一种现代方法 第四版 翻译序言
- 方案展示 | 基于全志A40i的激光喷码机解决方案
- Turbo码原理简介
- Android Ble蓝牙中如何获取RawData ,UUID,Major,Minor,Measured power at 1 meter的数据。
- 计算机局域网共享本地安全策略,如何设置局域网共享
- 小米电视共享计算机权限,小米电视局域网共享文件 小米盒子局域网共享视频通用方法...
- 凯撒/摩斯/栅栏/维吉尼亚/元音密码加解密的Python实现