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进度条功能的实现原理是什么?实例展示的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用Eclipse统计自己项目程序代码量
- 下一篇: hdu 1560 DNA sequenc