I'll just third the part about comments that has already been mentioned.
Write comments, and be liberal with them. Even if you don't think anyone else is going to be reading your code, put them in there for yourself, because a couple months down the line, you might look at your own program and think "What's that supposed to do?". You should take the time to write in comments, because you're not supposed to be writing out your code as fast as you can as soon as it comes to mind. The idea is to plan and evaluate exactly what your program is supposed to do before you actually beging writing code.
I have no experience writing Java, so I can't offer up any language-specific problems, nor can I help you with your Java code, because I'm not familiar with Java syntax.