zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Logisch gesehen, nein. Aber es ist oft zweckmäßig. Jedes Objekt einer Simulation könnte ihren eigenen Zufallszahlengenerator enthalten. Wenn wir Kaulquappen simulieren würden, die in einem Teich zufällig herumschwimmen, würden wir wahrscheinlich einen Zufallszahlengenerator als Teil eines jeden Kaulquappen-Objekts haben.


Zwei-Würfel-Programm two dice

Hier ist ein Programm, dass das Werfen von zwei Würfeln simuliert:

import java.util.*;

public class ZweiWuerfel
{

  public static void main ( String[] args )
  {
    Scanner scan = new Scanner( System.in );
    Random  rand = new Random();

    while ( true )
    {
      System.out.print("Ihr Wurf ist eine " +
        (rand.nextInt(6)+1 + rand.nextInt(6)+1));
      scan.nextLine();
    }
  }

}

Die zwei Würfe und die Summe der Punkte ist in dem Ausdruck

(rand.nextInt(6)+1 + rand.nextInt(6)+1)

implementiert. Jeder Aufruf von nextInt(6) ist völlig unabhängig vom vorherigen Aufruf, also ist das das gleiche wie das Werfen von zwei unabhängigen Würfeln.

Das zweimalige Werfen eines Würfels und die Addition der Ergebnisse ist äquivalent zum Werfen zweier Würfel und der Addition der beiden Würfel. Aber, das Werfen eines 12-seitigen Würfels ist nicht äquivalent zum Werfen von zwei 6-seitigen Würfeln.


FRAGE 9:

Würde das Folgende funktionieren, um zwei Würfel zu simulieren:

(rand.nextInt(11)+2)