int x = new java.util.Random().nextInt(N) + M;
ここが正しいか疑問がある。テストプログラムを書いてみて。