这些的代码差别并不大,只是在刷新字符来实现一个类似于linux终端的进度效果
C#
public static void pro_d( int current) //这里的current为进度
{
int total = 100; //总量-也就是这个代码的总进度值
//计算进度百分比
int percentage = (int)((float)current / total * 100);
//这个是进度条的长度,为50个进度字符+2(两个边界框“[]”)
int barLength = 50; //可以修改值来决定进度条的长度大小
//计算已经完成的进度,(显示长度)
int completedLength = (int)((float)current / total * barLength);
//计算没有完成的长度
int remainingLength = barLength - completedLength - 1;
//接下来就是一个打印字符的效果
//边框
string progressBar = "[";
for (int i = 0; i < completedLength; i++) //循环打印,打印内容为已经完的
{
progressBar += "-"; //完成用"-"表示
}
if (percentage >= 100) /*这行代码决定了一个判断,如果在进度条进度已经达到100时输出的最后一个字符为"\"*/
{
progressBar += @"\";
}
else //否则到达的进度条进度位置为"<"
{
progressBar += "<";
}
for (int i = 0; i < remainingLength;i++) /*循环打印为完成的位置,未完成字符为"."*/
{
progressBar += ".";
}
progressBar += "]"; //结尾字符
return progre_ss
return progre_ss = $"{progressBar} {percentage}%"; /*这里是对于一个字符的整合*/
}
Console.Clear(); //清空控制台,你也可以去删除这段代码
对于C语言和java也是差不多的
java
Java
public static void pro_d( int current) //这里的current为进度
{
----------------省略的代码
return progre_ss;
}
Systeam.out.println(pro_d([进度变量]))
清屏