publicclassPercentLogUtil{privatestaticfinalString s ="####################################################################################################";privatestaticint t = s.length(),l = t;privatestaticdouble p =0.0;publicstaticvoidinit(){PercentLogUtil.l = t;PercentLogUtil.p =0.0;}publicstaticvoidwirtePercent(int i,int d){double n =(t *(i)*1.0/ d )- t +l;int m =(int)n;if(d%(i)==0&& t%(d/(i))==0&& m >=1){System.out.print(s.substring(0,m));
l-=m;}else{if(t > d){System.out.print(s.substring(0,t/d));
l-=(int)(t/d);}else{
p += t*1.0/d;if(p>1){System.out.print(s.substring(0,1));
l--;
p--;}}}if(n >0&& l ==0){System.out.println("");}}}
调用方式
publicclass test {publicstaticvoidmain(String[] args){for(int i =0; i <5; i++){//循环5次int a =(int)(Math.random()*10000);System.out.println("当前循环总次数:"+a);System.out.print("进度条测试:");PercentLogUtil.init();//使用进度条工具前,先初始化一下for(int j =0; j < a; j++){PercentLogUtil.wirtePercent(j+1,a);}}}}