Skip to main content

Java Übung 31: Speichere deine Würfe im Array

In dieser Java Übung soll ein Würfelspiel simuliert werden.

  • Lege eine Klasse namens, Würfelspiel an.
  • Diese Klasse enthält eine statische Methode, namens würfeln().
    Diese Methode erwartet einen Parameter vom Datentyp Integer, namens „anzahlWuerfe“.
    Diese Variable/Parameter repräsentiert die Anzahl der Würfe.
  • Nachdem der Methode die Anzahl der Würfe übergeben wurde, soll die Methode Zufallszahlen zwischen 1 und Sechs würfeln und diese in einem Array speichern.
  • Nachdem alle Werte im Array gespeichert wurden, werden alle Werte auf der Konsole ausgegeben.
  • Zu Kontrollzwecken rufe die Methode wuerfeln() in der main-Methode auf und übergib ihr die Zahl 10.


Für die Lösung dieser Java Übung brauchst du ein Integer-Array

Und dieses Array wird im Methodenrumpf der würfeln()-Methode angelegt.

public class WuerfelSpiel {
 
static void wuerfeln(int anzahlWuerfe){
int [] wuerfe = new int [anzahlWuerfe];//Array mit Länge aus übergebenen Parameter
}
public static void main(String[] args) {
wuerfeln(10);//Aufruf mit 1o Würfen
}
}

Die Länge des Arrays entspricht dem Wert des übergebenen Parameters.
In dem Beispielfall würdest du der Methode beim Aufruf den Wert 10 übergeben und das Array hätte die Länge 10.

Kümmern wir uns um die Zufallszahlen.

So lassen sich Zufallszahlen im Array speichern.

Das wäre der Java Code dazu:
wuerfe[i]=(int)(Math.random()*6)+1;

  • Zufallszahlen bekommst du über den Rückgabewert der Methode Math.Random().
  • Diese Zufallszahlen sind dann allerdings Kommazahlen zwischen 0 und 1.
    Da du Zufallszahlen eines Würfels simulieren möchtest, müssen diese aber zwischen 1 und 6 sein.
    Wenn du den Rückgabewert der Methode Math.Random() mit sechs multiplizierst, erhältst du Kommazahlen zwischen 0 und 6.
    Also dann: Math.Random()*6
  • Indem du diesen Wert um eins erhöhst, schließt du die Null als Zufallszahl aus.
    Die Zahlen beginnen dann erst bei eins.
    (Math.random()*6)+1
  • Da du bei einem Würfelwurf keine Kommazahlen haben möchtest, musst du den Kommawert in einen Integerwert wandeln.
    (int)(Math.random()*6)+1
  • Und diese Rückgabe speicherst du dann in dem Array „wuerfe“ unter dem entsprechenden Index ab.
    wuerfe[i]=(int)(Math.random()*6)+1

So – Zufallszahlen können erzeugt werden.
Jetzt brauchst du noch eine for-Schleife um das Array zu füllen.

So kannst du das Array mit einer for-Schleife füllen.

public class WuerfelSpiel {
 
static void wuerfeln(int anzahlWuerfe){
int [] wuerfe = new int [anzahlWuerfe];
 
for (int i =0; i<wuerfe.length; i++){
wuerfe[i]=(int)(Math.random()*6)+1;//Zufallszahlen werden an der Stelle i gespeichert
}                
}
public static void main(String[] args) {
wuerfeln(10);//Aufruf mit 1o Würfen
}
}

Die for-Schleife startet beim Wert 0.
int i = 0
Dies entspricht auch dem Index des ersten Arrayfaches.

Die Abbruchbedingung der Schleife, wird durch die Länge des Arrays bestimmt.
i < wuerfe.length

Da das Array 10 Fächer hat und das erste Fach den Index 0, wird die Schleife 10-mal durchlaufen.
Und jedes Mal wird eine neue Zufallszahl in das Array an der Stelle i gespeichert.

Und nach genau dem gleichen Prinzip, legst du die Schleife zum Lesen des Arrays an.

So kannst du die Werte aus dem Array lesen.

Anstatt die Werte zu speichern, lässt du dir die Werte im Rumpf der Schleife ausgeben.

Und dazu nutzt du die System.out.println()-Anweisung mit dem jeweiligen Fach.
System.out.println(wuerfe[i])

public class WuerfelSpiel {
 
static void wuerfeln(int anzahlWuerfe){
int [] wuerfe = new int [anzahlWuerfe];
 
//Schleife zum Füllen des Arrays
for (int i =0; i<wuerfe.length; i++){
wuerfe[i]=(int)(Math.random()*6)+1;//Zufallszahlen werden an der Stelle i gespeichert
}
 
//Schleife zum Lesen des Arrays
for (int i =0; i<wuerfe.length; i++){
System.out.println(wuerfe[i]);//Ausgabe des Wertes im Fach i
} 
}
public static void main(String[] args) {
wuerfeln(10);//Aufruf mit 1o Würfen
}
}

Und das ist die komplette Lösung zu dieser Java Übung.

Na wieviele Sechser würfelt dein Programm? 🙂


Ähnliche Beiträge

So implementierst du Instanzmethoden in deine Java Klasse

Java Instanzmethoden

In einen der letzten Beiträge habe ich dir gezeigt, wie du eine Klasse anlegen kannst. Ich habe die Klasse „Mensch“ oder „Human“ angelegt und wir haben die erste Instanzvariable implementiert. Dein Code sollte jetzt so aussehen: public class Human { int size=156;//size in centimeter } In diesem Beitrag werde ich dir zeigen, wie du Java […]

Der wichtige Unterschied zwischen Java Methoden

Java Methoden Unterschied

Jetzt machen wir Nägel mit Köpfen. Dieses Sprichwort stammt aus den Anfängen des Industriezeitalters. Denn früher wurden Nägel nicht industriell, sondern per Hand gefertigt. Und da kam es schon einmal vor, dass versehentlich Nägel ohne Kopf produziert wurden. Was blieb ist das Sprichwort „Nägel mit Köpfen“ Und dieses steht sinngemäß für eine schnelle, qualitativ hochwertige […]

Java Übung 11 – Java Objekte in Java Methoden übergeben

Java Übung Java Methoden Objekte

In dieser Java Übung möchte ich dir zeigen, dass du auch in Klassenmethoden auf Objekte und deren Instanzvariablen zugreifen kannst. Schau dir dazu einmal diesen Java Code an. public class Umwandlung { private int x; public int getX() { // getter Methode return x; } public void setX(int x) { // setter Methode this.x = […]

Java lernen von Kopf bis Fuß

Wenn du Java lernen möchtest, kannst du an meinem kostenlosen Java Kurs teilnehmen. Aber manch Einer hätte gern eine zweite Meinung. Und da bieten sich natürlich Java Bücher an. Eines dieser Java Bücher möchte ich dir jetzt vorstellen. Dieses Buch nennt sich „Java von Kopf bis Fuß“. Was kannst du von diesem Buch erwarten? Also […]

So lassen sich Java Arrays kopieren

Java Arrays kopieren

Java Arrays kopieren oder klonen…. Was heißt das eigentlich? Eine Kopie ist eine Reproduktion bzw. die Nachbildung eines Originals. Somit ist jede Fotographie – die Abbildung einer bestimmten optischen Wirklichkeit, zu einem festen Zeitpunkt. Die Kopie einer Buchseite ist das optische Abbild dieser spezifischen Buchseite – auch zu einem festen Zeitpunkt. Wichtig in diesem Zusammenhang […]

Die sechs Bestandteile von Java Methoden

Java Methoden Bestandteile

Java Methoden hauchen deinem Java Programm Leben ein. Ohne eine Methode würde deine Java Klasse ein starres Konstrukt sein. Deine Objekte hätten Eigenschaften. Aber sie könnten nichts machen. Und das wäre eine trostlose Welt. Java Methoden sorgen also dafür, dass Objekte interagieren. Methoden bestehen aus bestimmten Bausteinen. Und diese Bausteine bestimmen, was die Methode darf […]

So kannst du Eclipse installieren

Eclipse installieren

Das Schöne an Eclipse ist, es läuft auf sämtlichen Betriebssystemen. Eclipse wird einfach auf der Webseite des Herstellers herunter geladen und kann dann installiert werden. Dabei stehen dir verschiedene Versionen zur Verfügung.

Java Objekte leben auf dem Heap

Java-Objekte-Heap

Java hat eine interne Speicherverwaltung. Eigentlich ist es nicht nur eine. Es sind mehrere.   Uns interessieren nur zwei. Methoden und lokale Variablen werden auf dem Stack verwaltet. Und die Speicherverwaltung für Java Objekte und den Instanzvariablen findet auf dem Heap statt.   Ja wieso braucht Java eigentlich zwei Speichersysteme?   Es ist ganz einfach. […]

3 Möglichkeiten um Vererbung von Java Klassen zu verhindern, zu verbieten oder ausschließen

Java Vererbung verhindern

Die ganze Java Vererbung für bestimmte Klassen ausschließen bzw. verhindern oder verbieten. Was soll das? Für bestimmte Java Klassen soll die Vererbung ausgeschlossen werden. Es soll also verhindert werden, dass Elternklassen – Kindklassen bekommen können. Klingt ein bisschen wie Verhütung, oder? Denn wie auch im echten Leben, können Kinder zu kleinen Tyrannen werden. Sie bedienen […]

Achte bei Java Methoden stets auf die Wertübergabe

Java Methoden Wertübergabe

Ich lege gleich los…. Schau dir diesen Code einmal an. Welche Zahl wird wohl auf der Bildschirmanzeige zurückgegeben? public class MethodenWertUebergabe { static int verdoppele (int i){ i=i*2; return i; } public static void main(String[] args) { int i = 2; verdoppele(i); System.out.println(i); } }