When I run this loading bar script the bar doesn't load and then it loads to the maximum. how come this load bar doesn't work thanks for the help.

// The "LoadBar" class.
import java.awt.*;
import hsa.Console;

public class LoadBar
    static Console c;           // The output console

    public static void main (String[] args)
	c = new Console ();

	double load;
	int loaded, total, a, loadbar;
	a = 0;
	total = 100;
	loaded = 0;
	Font loading = new Font ("Ariel", Font.BOLD, 30);

	while (a == 0)
	    int i = 0;
	    c.clear ();
	    load = (loaded * 100) / total;
	    loadbar = (int) Math.round (load);
	    c.setColor (Color.green);
	    c.fillRect (10, 75, loadbar, 10);
	    c.setColor (Color.black);
	    c.setFont (loading);
	    c.drawString ("Loading", 250, 50);
	    for (i = 0 ; i <= 1000000000 ; i++)
	    loaded = loaded + 1;

	// Place your program here.  'c' is the output console
    } // main method
} // LoadBar class
6 Years
Discussion Span
Last Post by sirlink99

The problem is the for loop. Before it executes, loaded=0 so there's nothing to draw, and after it will be something like 1000000001. Only then will the bar be drawn again.


I fixed it by putting loaded = loaded in the for loop and then adding one to it after the loop. I made an if statement that says when the loaded = 50 then it prints done loading and exits the while loop. thanks for the help.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.