That's what I get for not lurking enough: 20 pages of coding thread to read 
I loved the tutorials, and that people actually took the effort of typing them. Good job!
Having worked with Java at work for 2 months now, I have to agree with Max: it has probably got redeeming qualities, but I'll be damned if I know where to find em. It's ugly, unwieldy, and thinking that function names such as doHandleProgressReportParsingMessageSenderActivatorCallback() (and I've seen longer) somehow make comments superfluous (because // is RSI inducing?) is just... $%^&*&^%$%. But that's more a companycodingstyle thing than Java-inherent, I guess.
Anyway, I'm coding again, and should get back to it. Actually stopping and going to bed early has been more productive than having the IDE open until 2:30 AM and then going to bed having done nothing.
As our apparent local Java expert, I feel obligated to say something. So...
saySomething(anything());
Java's not so bad. I'm reasonably convinced most people don't know how to effectively use it. Method names like the one you described are an attempt at self-documenting code. It's
supposed to make comments superfluous. I think it's stupid, too, though. I'd much rather give it a shorthand name and leave a comment saying what it is, assuming it isn't obvious. I guess I'm bias because I can see its redeeming qualities and tend to at least attempt to exploit them.
Turns out, when I said I knew the math side of program was working right? Yeah, I wasn't even close. I simplified a lot of stuff, which probably could be simpler, made some critical design changes, added some error prevention to avoid some accidental overflows, and extended more cells. The only serious error is that it keeps wanting to write multiple squares in the "bottom-left" cell, but that's just one more error I can dig out. There's tweaking and extensibility to be done, but I effectively have a working room generator.
I don't whether I should try to draw doors and tunnels next, or finally bite the bullet and work on walking a character-icon around.
That's normal. Typically, the moment you're certain something is correct is the moment you can be assured that something is incorrect.
Up to you what to do next. Do you want to finish the map? Or do you want to get all giddy because you can run around in your own little world?
With JCurses, I remember not being able to get it to initialize. And with libjcsi, I remember the getch command just plain not working. I didn't like ncurses for C++ just because C++ won't let me initialize the size of a 2d array at runtime.
Internally there's not really any difference between a 1D array and a 2D array. You can use [x + y * WIDTH] and it should be be no less efficient.
I remember trying that and I remember there being some problem or other and then getting slapped in the face by real life before I got around to investigating what wasn't right.