Lernpfad:Würfelspiel in Java/Zufallszahlen generieren: Unterschied zwischen den Versionen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 8: Zeile 8:
Java bietet verschiedene Methoden, Zufallszahlen zu erzeugen. Diese basieren
Java bietet verschiedene Methoden, Zufallszahlen zu erzeugen. Diese basieren
auf der Methode <code>Mathe.random()</code>, die eine Pseudozufallszahl zwischen 0 (inklusive) und 1 (exklusive) erzeugt. Diese Fliesskommazahlen können dann durch Rechenoperationen in den gewünschten Zahlenbereich transformiert werden.  
auf der Methode <code>Mathe.random()</code>, die eine Pseudozufallszahl zwischen 0 (inklusive) und 1 (exklusive) erzeugt. Diese Fliesskommazahlen können dann durch Rechenoperationen in den gewünschten Zahlenbereich transformiert werden.  
Um einen Würfel zu simulieren kann man die von <code>Math.random()</code> generierten Werte zum Beispiel durch <code>(int) (Math.random()*6+1)</code>
in eine Ganzzahl zwischen 1 (inklusive) und 6 (inklusive) transformieren.
[[Datei:JavaZufall.jpg|center|Transformation von Zufallszahlen in einen bestimmten ganzzahligen Bereich (Java).]]
[http://openbook.rheinwerk-verlag.de/javainsel9/javainsel_12_005.htm#mje4ad6e86a12fd27d9d70730955ca4f9c Kapitel "Zufallszahlen erzeugen" in ''Java ist auch eine Insel'']


== Eine einfache Würfel-Klasse ==
== Eine einfache Würfel-Klasse ==

Version vom 1. Mai 2018, 21:36 Uhr

Zufallszahlen generieren

Obwohl wir in unserem Leben vom Zufall umgeben sind, ist das Erzeugen von Zufallszahlen in technischen Systemen nicht einfach. Tatsächlich gibt es so etwas wie einen echten Zufallsgenerator nicht, sondern immer nur sogenannte Pseudozufallszahlengeneratoren. Pseudozufall bedeutet, dass die erzeugten Zahlen zufällig wirken, aber in Wirklichkeit aufgrund mathematischer Verfahren erzeugt werden.

Java bietet verschiedene Methoden, Zufallszahlen zu erzeugen. Diese basieren auf der Methode Mathe.random(), die eine Pseudozufallszahl zwischen 0 (inklusive) und 1 (exklusive) erzeugt. Diese Fliesskommazahlen können dann durch Rechenoperationen in den gewünschten Zahlenbereich transformiert werden.

Um einen Würfel zu simulieren kann man die von Math.random() generierten Werte zum Beispiel durch (int) (Math.random()*6+1) in eine Ganzzahl zwischen 1 (inklusive) und 6 (inklusive) transformieren.

Transformation von Zufallszahlen in einen bestimmten ganzzahligen Bereich (Java).

Kapitel "Zufallszahlen erzeugen" in Java ist auch eine Insel

Eine einfache Würfel-Klasse

import java.util.Random;

public class Wuerfel {
 private Random zufall;

 public Wuerfel() {
  // Neues Objekt der Klasse "Random" erstellen
  zufall = new Random();
 }

 /**
  * "Wirft" den Würfel, indem eine Zufallszahl zwischen 1 und 6 (einschließlich) generiert wird.
  * @return Eine Ganzzahl von 1 bis 6
  */
 public int werfen() {
  // nextInt(int) generiert eine Zufallszahl n mit 0 <= n < 6
  return zufall.nextInt(6)+1;
 }
}