Следующая простая программа в Java использует класс java.util.Random
, который всегда отображает "hello world". Ниже приведен фрагмент кода.
package nomain;
import java.util.Random;
final public class J
{
public static String randomString(int seed)
{
Random rand = new Random(seed);
StringBuilder sb = new StringBuilder();
for(int i=0;;i++)
{
int n=rand.nextInt(27);
if (n==0)
{
break;
}
sb.append((char) ('`'+n));
}
return sb.toString();
}
public static void main(String args[])
{
System.out.println(randomString(-229985452)+' '+randomString(-147909649));
}
}
Существует некоторое удивление в том, что он всегда отображает "мир привет", даже если используется класс Random, который приводит к генерации случайных чисел, номера должны быть изменены в каждом прогоне, и соответствующие символы должны быть изменены соответствующим образом, но это всегда отображает только одну стабильную строку, которая упоминается выше "hello world". Почему это происходит?