zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Verwenden Sie nextInt(int num), um Zahlen aus dem Bereich von 0 bis 5 auszuwählen, dann addieren Sie 1:

wuerfel = rand.nextInt(6)+1;

Der Trick besteht darin die Anzahl der Integer zu bestimmen, die Sie für den Ergebnisbereich brauchen, und diese Anzahl als Parameter für nextInt() zu verwenden. Addieren Sie dann den Minimalwert des von Ihnen gewünschten Bereichs. In diesem Beispiel wollen wir 1, 2, 3, 4, 5, 6, also ist die Anzahl der Integer des Ergebnisbereichs 6. nextInt(6) gibt Zahlen von 0, 1, 2, 3, 4, 5 zurück, also addieren Sie 1, um den gewünschten Bereich zu bekommen.

Würfel-Programm

Hier ist ein Programm, das das Werfen eines Würfels simuliert.

import java.util.Random;
import java.util.Scanner;

public class Wuerfeln
{

  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) );
      String zeile = scan.nextLine();
    }
  }
}

Die Anweisung:

Random rand = new Random();

erzeugt einen Zufallszahlengenerator unter Verwendung eines Startwerts, der auf der aktuellen Zeit basiert. Das Programm wird bei jeder Ausführung eine unterschiedliche Zahlensequenz erzeugen.

Die while-Schleife läuft, bis der Anwender Strg+C eingibt (oder das Programm auf andere Weise beendet). Der Schleifenkörper wählt eine Zufallszahl aus dem Bereich von 1 bis 6:

System.out.print("Ihr Wurf ist eine " + (rand.nextInt(6)+1) );

Dann wartet die Schleife bis der Anwender die Eingabetaste betätigt. (Tatsächlich wird jede Eingabe, die mit der Eingabetaste abgeschlossen wird, funktionieren.)

String zeile = scan.nextLine();

Mit der Zeile, die der Anwender eingibt, wird nichts getan. Sie wird nur verwendet, um den Output anzuhalten. (Sie könnten das Programm verbessern, indem Sie das Programm taktvoll beenden, wenn der Anwender "Q" oder "q" eingibt.)

FRAGE 6:

Angenommen Sie wollen Zufallszahlen im Bereich von -5 bis +5 (inklusive). Wie können Sie dafür nextInt() verwenden? (Hinweis: Betrachten Sie das vorherige Beispiel.)