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

Ohne Abstraktion ergibt Java Polymorphie wenig Sinn

Java Polymorphie Abstraktionsprinzip

Kennst du den Film Matrix? Denn kennst du vielleicht auch die Botschaft, welche der Protagonist am Anfang des Filmes erhält. „Folge dem weißen Kaninchen.“ Und so ähnlich ist es jetzt auch in diesem Beitrag. „Wir dringen immer tiefer in den Kaninchenbau ein.“ 🙂 Ganz so wie im Film wird es nicht. Aber bevor wir mit […]

So nutzt du getter und setter Methoden bei der Java Programmierung

Java Keyword private

In diesem Artikel möchte ich dir zeigen, wie du Instanzvariablen innerhalb der Java Klasse schützt. Und den Zugriff nur noch indirekt über getter und setter Methoden anbietest. Stell dir vor. Du hast ein Programm zur Lagerverwaltung geschrieben. Dieses Programm dient Möbelhäusern dazu, ihre Bestände zu verwalten. Und das Programm erwartet vom Nutzer gewisse Eingaben zu […]

So kannst du ein Java Programm starten und Argumente übergeben

Um ein Java Programm starten zu können, benötigst du immer die main-Methode. Das Programm startet immer genau an dieser Stelle. Alle lokalen Variablen, welche du in der Main Methode anlegst, kannst du dann im Programm nutzen. Auch alle Methoden, welche du innerhalb des Methodenrumpfes der main-Methode aufrust, werden ausgeführt. Was ist aber vor der main-Methode. […]

10 ganz nützlichen Feature der Klasse Java Math

In diesem Beitrag geht es um eine spezielle Java Klasse. Die Klasse nennt sich Java Math. Diese ist in der Standardbibliothek von Java enthalten. Warum solltest du diese Klasse kennen? Die Math Klasse bietet dir einen Menge Methoden an, welche zur Berechnung von mathematischen Gleichungen ganz hilfreich sind. Aber auch für Nichtmathematiker ist etwas dabei. […]

Java for Schleifen schachteln – So funktioniert es

Java For Schleifen schachteln

Diese Situation kennst du doch auch…. Du stehst an der Haltestelle und wartest auf den Bus. Dein Blick fällt auf die Uhr.   Oder du wartest an der Ecke auf deinen Freund oder Kollegen. Immer wieder schaust du auf deine Uhr.   Sie ist kaum noch wegzudenken. Die mobile Taschenuhr.   Lange Zeit wurde die […]

Lexikalik, Syntax und Semantik in Programmiersprachen

Programmiersprachen Semantik Programmiersprachen Syntax Programmiersprachen Lexikalik Java

Java ist eine Programmiersprache. Und wie jede andere Programmiersprache ist auch Java, lediglich eine künstliche Sprache.   Normalerweise bieten künstliche Projekte immer jede Menge Spielraum für Eigenkreationen. Bei der Programmierung ist dies nicht ganz so. Denn Programmiersprachen sind auch immer sehr exakt.   Jede Programmiersprache und auch jede gesprochene Sprache folgt immer einer Abstraktionsreihenfolge, welche […]

Java Polymorphie – besserer Code und mehr Möglichkeiten

Java Polymorphie Vorteile

Polymorphie ist das Herzstück jeder objektorientierten Sprache. Nicht nur in Java – auch in Python, Javascript und in anderen Sprachen. Aber was bedeutet Polymorphie eigentlich? Polymorphie oder auch Polymorphismus genannt, kommt aus dem Griechischen. Es bedeutet Vielgestaltigkeit. Etwas freier übersetzt, kannst du es auch als Facettenreichtum bezeichnen. Im Grunde genommen zielt die ganze Java Vererbung […]

Java Konsolenausgaben mit formatierten Zahlen

Java Konsolenausgaben Zahlen

Java Konsolenausgaben erzeugst du mit der System.out.println()-Anweisung. Dies ist relativ einfach. Aber es ist mitunter nicht ganz praktisch. Und zwar immer dann, wenn Zahlen im Spiel sind. Die Zahlen welche dann auf deiner Java Konsole erscheinen, sind unformatiert. Sie haben zu viele Kommastellen. Oder für eine bessere Darstellung benötigst du den Tausenderpunkt. Vielleicht möchtest du […]

So kannst du Java installieren

Java installieren

Bevor du loslegst und deine ersten Java Programme schreibst, benötigst du die entsprechende Arbeitsumgebung. Du solltest also Java installieren. Und diese Arbeitsumgebung beinhaltet dann Bibliotheken für die einzelnen Java-Standard-Klassen, Dateien um deine Programme auszuführen. Dateien um deine Programme zu packen, Logische Verzeichnisstrukturen

Die drei Bestandteile aller Java Klassen

Java Klassen Bestandteile

Java ist eine objektorientierte Programmiersprache. Was heißt das? Ja… Anscheinend hat es etwas mit Objekten zu tun. Also was ist ein Objekt? Ein Objekt ist ein bestimmtes Konstrukt im Programm. Bauen wir ein Spiel. Ein Grafik-Adventure. Du kennst das. Ein Held wird in eine bestimmte Spielwelt hinein gesteckt. Der Held muss mit bestimmten Personen sprechen. […]