Yay! I've finished coding up my artificial neural network class in java. I'm pretty pleased with it. The connection weights and nodes are stored in single-dimensional, contiguous arrays. This makes the feedforward evaluation a little tricky, but it makes it dead simple to encode any architecture desired and also makes it pretty amenable to training via a genetic algorithm or a Monte-Carlo, Markov-Chain search.