Debugging is the process of finding 'bugs' (problems) in your code and fixing them. There are broadly two kinds of issues with code in terms of getting it running: bugs that stop the code compiling, and bugs that stop code doing its job once it is compiled. The java compiler will report the former. If you are lucky the java interpreter will report the latter. The hardest bugs to find are those that don't break (stop) the program, but instead silently muck up what you are trying to do.

The links below take you to information that will help you sort out specific bugs.

Bugs highlighted by the compiler.

Bugs highlighted by the interpreter.

Advice on other bugs.

The first bug; click for more info. File from Wikimedia Commons: