Random rock = new Random();
rock.setSeed(System.nanoTime());
double test = rock.nextDouble();
Yes, I have been playing with setSeed but nothing seems to change the end result. I now believe I have made the mistake in my loops and it has nothing to do with the RNG. It is the only logical conclusion after having tried all the different RNG techniques.