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

Du musst in Java nicht jede Exception fangen

Java Exception fangen

Kennst du die Metapher mit dem Jongleur und den Bällen? Ein Jongleur hält drei Bälle in der Luft, dann vier und irgendwann fünf. Aber irgendwann ist es genau ein Ball zu viel. Und Alles bricht zusammen. Ja ein Ball zu viel, kann alles versauen. 🙂 Und so ist es doch immer im Leben. Du kannst […]

Java Exceptions Handling – Fehler- und Ausnahmenbehandlung in Java

Java Exceptions Handling

Java Exceptions Handling umfasst den richtigen Umgang mit Ausnahmen und Fehlern. Wie geht das? Und braucht man so etwas wirklich? Vielleicht sagst du jetzt: „Brauch ich nicht. Ich mache niemals Fehler.“ Doch… Bei der Java Fehlerbehandlung geht es nicht ausschließlich nur um deine Programmierfehler. Es geht auch um falsche Nutzereingaben, Hardware- und Ablauffehler. Und deshalb […]

So erstellst du deine ersten Java Klassen mit Eclipse

Java Klassen sind Baupläne für Java Objekte. Und da Java eine objektorientierte Programmiersprache ist, sind Java Klassen somit ein elementarer Bestandteil. In diesem Beitrag möchte ich dir zeigen, wie du eine Java Klasse in Eclipse erstellen kannst. Ich möchte dir außerdem zeigen, was physikalisch in deinem Projekt passiert. Ganz zum Schluss zeige ich dir noch, […]

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 = […]

So legst du Utility Klassen in Java an

Java Utility Klassen

Utility Java Klassen – was ist das? Man nennt diese auch Hilfsklassen von Java. Diese Utility Klassen sind Java Klassen, welche lediglich Methoden und Konstanten anbieten. Am Beispiel: Die Klasse Math ist so eine klassische Utility Klasse. Wozu braucht man solche Klassen? Diese Klassen sind so etwas wie ein Werkzeugkoffer für jedes Java Programm. Hier […]

Overriding und Vererbung – So lassen sich Java Methoden überschreiben

Java Methoden überschreiben

In Deutschland entstehen jeden Tag tolle Geschichten. So wie diese hier…. Die größte Turmuhr der Welt, die Makkah Clock, steht in Saudi – Arabien. Und zwar direkt in Mekka. Hier ein paar Eckdaten zur Uhr: Höhe des Turmes 601 m. Das Ziffernblatt der Turmuhr hat einen Durchmesser von 43 Meter Die Länge des Minutenzeigers beträgt […]

Java Vererbung:
Die 3 Schablonen für deine Java Objekte

Java Vererbung Beispiel

Im letzten Beitrag habe ich dir das Java Vererbung Konzept an einem Beispiel vorgestellt. In dem Beispiel-Rollenspiel gab es Klassen zu Helden und Superhelden. Ich habe dir die Vererbungshierarchien theoretisch erläutert. Jetzt geht es ans Praktische. In diesen Beitrag lernst du: Wie du bestehende Java Klassen erweiterst Wie du Objekte aus den erweiterten Klassen erstellen […]

Von Java Klassen zum Java Programm – Der Programmstart

Java Klassen ausführen

In den letzten Beiträgen hast du gelernt, wie Java Klassen erstellt werden und aufgebaut sind. In diesem Beitrag geht es um den Programmstart. Ich will dir zeigen, was nötig ist, dass du ein Java Programm ausführen kannst. Und ich zeige dir außerdem, wie du eine Startklasse in einem x-beliebigen Javaprogramm anlegst. Wie auch schon zuvor, […]