だから私は整数のシーケンスがランダムに生成されたかどうかをテストしようとしていますが、うまくいきません...これは私がこれまでに得たものです:
public static void main(String[] args) {
Random r = new Random();
int[] sequence = { r.nextInt(), r.nextInt(), r.nextInt() };
System.out.println(isRandomSequence(sequence));
}
public static boolean isRandomSequence(int[] sequence) {
for (long seed = 0; seed < Long.MAX_VALUE; ++seed) {
Random r = new Random(seed);
long tries = 0;
for (int i = 0; tries < Long.MAX_VALUE; ++tries) {
if (sequence[i] == r.nextInt()) {
if (++i == sequence.length) return true;
} else {
i = 0;
}
}
}
return false;
}
編集:明確にする; たとえば、シーケンス { 4, 5, 6 } が乱数ジェネレーターによって生成されたかどうかを知りたいです。まず、テストを java.util.Random に制限します (可能であれば、一般的な解決策があるとよいでしょう)。