Aparently I was using the same or a closely related tutorial. I'm too lazy to read your code (sorry) but if you want you can compare it to my version which is working (no guarantees ...)
http://sourceforge.net/p/sunlands/code/21/tree/trunk/src/villagers/utils/PerlinNoise.javaWell you can just use mine if it's good enough for your needs. It's GPLv2.
Edit: I was testing two noise sources, one very similar to your code, and another based on an Xor-Shift RNG. Both seem to work sufficiently well. Just to explain why there are two in the code and one is unused currently.