java 进度条实现原理_java进度条功能的实现原理是什么?实例展示
在科學(xué)技術(shù)與經(jīng)濟(jì)水平高速發(fā)展的21世紀(jì),掌握一門(mén)扎實(shí)的技術(shù)對(duì)每一個(gè)人來(lái)說(shuō)都是極其重要的。今天主要為大家介紹一下,java中進(jìn)度條功能的實(shí)現(xiàn)原理是什么,以及通過(guò)一個(gè)實(shí)例代碼來(lái)向大家展示究竟該怎么操作。
首先,我們需要知道的是,進(jìn)度條功能執(zhí)行命令的原理是什么?
它的關(guān)鍵是用到了這個(gè)函數(shù):System.out.print("\b");
其中轉(zhuǎn)義符\b的作用就是刪除游標(biāo)前面的一個(gè)字符。
這里為大家舉例說(shuō)明一下:System.out.print("hello,world!");
System.out.print("\b\b");
執(zhí)行完第一行后是輸出:hello,?world!
注意這里用的都是print函數(shù),而不是println函數(shù)。當(dāng)我們執(zhí)行到第二行后,輸出就變?yōu)?#xff1a;hello,?worl
因?yàn)橛袃蓚€(gè)\b,所以刪除兩個(gè)字符,因此刪掉了d和!,還剩下hello,worl。這就是它的原理,原理了解了之后,它的效果實(shí)現(xiàn)就比較簡(jiǎn)單了。接下來(lái)通過(guò)一個(gè)實(shí)例代碼來(lái)為大家展示。
實(shí)例如下所示:public?class?ProgressBar
{
private?int?index?=?0;
private?String?finish;
private?String?unFinish;
//?進(jìn)度條粒度
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++;
}
}
}
以上就是關(guān)于java進(jìn)度條功能的實(shí)現(xiàn)原理,以及相關(guān)的代碼實(shí)例展示。想要了解更多有關(guān)java程序代碼例子,敬請(qǐng)關(guān)注奇Q工具網(wǎng)。
推薦閱讀:
總結(jié)
以上是生活随笔為你收集整理的java 进度条实现原理_java进度条功能的实现原理是什么?实例展示的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 使用Eclipse统计自己项目程序代码量
- 下一篇: hdu 1560 DNA sequenc