Home > Net >  Add a loading effect with progress
Add a loading effect with progress

Time:05-07

Often when we download something use the terminal or the command prompt, we get a progress like this:

----------10%

after a while

------------------------------------------33%

after a while

---------------------------------------------------------48%

and then this continues until it is 100%. Even I tried to do something like this, but ended up getting a result like this:

-1%-2%-3%-4%-5%-6%-7%-8%-9%-10%-11%-12%-13%-14%-15%-16%-17%-18%-19%-20%-21%-22%-23%-24%-25%-26%-27%-28%-29%-30%-31%-32%-33%-34%-35%-36%-37%-38%-39%-40%-41%-42%-43%-44%-45%-46%-47%-48%-49%-50%-51%-52%-53%-54%-55%-56%-57%-58%-59%-60%-61%-62%-63%-64%-65%-66%-67%-68%-69%-70%-71%-72%-73%-74%-75%-76%-77%-78%-79%-80%-81%-82%-83%-84%-85%-86%-87%-88%-89%-90%-91%-92%-93%-94%-95%-96%-97%-98%-99%-100%

So, this happens after every progress. This is what I did to do so:

for (progress in 1..100){
   print("-$progress%")
   Thread.sleep(100)
}

or in java:

for(int i = 0; i < 100; i  ){
   System.out.print("-"   i   "%");
}

So, how can I achieve something like that with the progress being in a single line?


Pls dont downvote. Just let me know what can be improved

CodePudding user response:

Can you try something like:

for (progress in 1..100){
    var output = ""
    repeat(progress) {
        output  = "-"
    }
    print("$output$progress%")
    Thread.sleep(100)
}

CodePudding user response:

I can answer this for Java.

Assuming you want each progress printed on a new line, use: System.out.println(); instead. Or add \n where relevant.

Also assuming you want to increase the quantity of dashes with each incremental progress point, you'd have to add an inner for loop to repeat the printing of the "-" multiple times, something like this?

for (int i = 0; i < 100; i  ) {
    for (int j = 0; j < i; j  ) {
        System.out.print("-");
    }
    System.out.print(i   "%\n");
}

Example output

  • Related