Возможно ли генерировать псевдослучайные целые числа из целочисленного массива? Я не имею в виду выбирая случайное число из массива, но вместо того, чтобы делать что-то вродеСоздание случайного целого из массива целых чисел
[1,2,3] = 4542
[56,89,42] = 80421
Наконец, возможно ли, чтобы выход был полностью случайным, а не постепенно менялся? Например. Я бы хотел this не this.
Спасибо за любой ввод.
Редактировать: Я попытался использовать hashcode в следующем коде. (Причина, почему я не просто использовать случайный мне нужно, чтобы иметь возможность получить доступ к случайному выходу без зацикливания иногда)
Random random = new Random();
int size = 10;
for (int x = 0; x < size; x++) {
for (int y = 0; y < size; y++) {
for (int z = 0; z < size; z++) {
System.out.println(random.nextInt());
}
}
}
System.out.println();
for (int x = 0; x < size; x++) {
for (int y = 0; y < size; y++) {
for (int z = 0; z < size; z++) {
System.out.println(Arrays.hashCode(new int[]{x, y, z}));
}
}
}
Для первой секции коды я получаю случайные числа, например,
-733673840
2005335778
-954776008
-695687646
-1339170035
...
Для второй части я получаю телефонные номера, которые увеличиваются на один
29791
29792
29793
29794
29795
...
Вы имеете в виду использование массива в качестве семени для случайного генератора? – Adrian
Вы хотите, чтобы функция была детерминированной (например, данный ввод всегда должен производить тот же вывод).? Вы не возражаете, если кто-то выяснит функцию, а кто-то еще сможет воссоздать эту функцию? –
Если вы хотите детерминированную и ненадежную функцию, вы можете создать ее, как мы переопределим метод 'hashCode(). Скажем, умножьте каждый элемент на простое число (скажем, 37) и добавьте их вместе. –