Warum gibt Code mit zufälligen Strings "hello world" aus?
Hallo zusammen! Ich bin neu in Java und bin auf ein seltsames Verhalten gestoßen. Ich habe folgenden Code geschrieben:
```java
Random random = new Random(-229985452);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 5; i++) {
sb.append((char) ('a' + random.nextInt(26)));
}
System.out.println(sb.toString()); // Gibt "hello" aus
Random random2 = new Random(-147909649);
StringBuilder sb2 = new StringBuilder();
for (int i = 0; i < 5; i++) {
sb2.append((char) ('a' + random2.nextInt(26)));
}
System.out.println(sb2.toString()); // Gibt "world" aus
```
Ich habe erwartet, dass bei jedem Durchlauf zufällige Strings ausgegeben werden. Aber dieser Code gibt stabil "hello" und "world" auf verschiedenen Maschinen aus. Warum passiert das? Ist das Magie oder eine Besonderheit von Java? Ich habe das Programm viele Male neu gestartet – das Ergebnis ist immer dasselbe. Bitte erklärt mir, wie das funktioniert. Vielen Dank im Voraus!
<<>>
Kurze Antwort: Der seed (Samen) des Zufallszahlengenerators
Die Klasse java.util.Random