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 einfach lassen sich Java Strings umkehren

Java Strings umkehren

Kennst du noch das Lied „ANNA“ von Freundeskreis? Da hieß es: Du bist von hinten, wie von vorne A-N-N-A. Solche Namen oder Wörter, welche von hinten nach vorne gelesen – die gleiche Bedeutung haben, nennt man Palindrome. Anna, Ehe oder Ebbe sind recht kurze Palindrome. Aber auch längere zusammengesetzte Palindrome kennt die deutsche Sprache: Regallager […]

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

Java lernen – 10 nützliche Tipps für Java Anfänger

Java Lernen Anfänger

Wenn du die Programmiersprache Java lernen möchtest, bist du hier prinzipiell erst einmal richtig. Und wenn du es wirklich ernst meinst und in die Java Programmierung einsteigen möchtest, solltest du auch meinen kostenlosen Java Kurs beanspruchen. Wenn du dabei bist, bekommst du: Eine Lektion pro Woche zu den Basics. Hier geht es um die ersten […]

Java Übung 16 – Bestimme den größten gemeinsamen Teiler

Java Übung Teiler

In dieser Java Übung möchte ich, dass du den größten gemeinsamen Teiler zwei Zahlen ermittelst. Ich möchte, dass du das Ganze mit einer while-Schleife umsetzt. Und wie? Du legst eine neue Klasse „GGT“ (größter gemeinsamer Teiler) an. In diese Klasse implementierst du eine Klassenmethode „berechneGGT“. Diese erwartet zwei Argumente vom Datentyp Integer.

Das Java Leben ist einfacher mit For-Schleife

Java For Schleife Aufbau

In einem anderen Artikeln habe ich bereits über Schleifen in Java gesprochen. In diesem Artikel möchte ich dir eine ganz besondere Schleife vorstellen. Warum ist diese so toll? Sie hat einen integrierten Schleifenzähler. Die Schleife zählt also bei jedem Durchlauf automatisch mit. Aber dazu gleich mehr…. Lass uns einmal so eine For Schleife anlegen.

Nutze die Fernbedienung für deine Java Objekte

Auf Java Objekte greifst du mit einer Art Fernsteuerung zu. Diese bezeichnet man als Referenz oder als Verweis. Und diese Referenzvariablen möchte ich dir jetzt einmal vorstellen. Doch bevor wir loslegen, lass mich noch ein paar Dinge loswerden. 🙂 Ich habe es ja schon einmal in einem früheren Beitrag erwähnt. Java unterscheidet zwischen primitiven und […]

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

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

Java Übung 24 – So kannst du Kommazahlen runden

Java Übung runden

In dieser Java Übung möchte ich mit dir Zahlen runden. Ich bitte dich deshalb: Erstelle eine Klasse „RundenUebung“. Lege dann eine statische Methode rundeZahl() an. Diese erwartet zwei Parameter. Parameter 1 ist die Kommazahl, welche gerundet werden soll. Als zweiten Parameter wird eine ganze Zahl übergeben, welche die Nachkommastelle – bis auf welche letztlich gerundet […]

Java Exklusives Oder – So nutzt du den Xor Operator

Java exklusives oder

In diesem Beitrag möchte ich dir den Xor Operator von Java vorstellen. Dieser Operator wird auch als ausschließendes oder exklusives Oder bezeichnet. Ein Beispiel: Was wilst du heute zum Mittag essen: Fleisch oder Fisch? Auf diese Frage gibt es nur eine Antwort. Es ist entweder Fisch oder Fleisch. Niemals beides. Das Eine schließt das andere […]

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

So kannst du Java Arrays anlegen

Java Arrays anlegen

Java Arrays– Was ist das? Stell es dir einmal als ein Bücherregal vor. In einem Bücherregal befinden sich sämtliche Bücher. Und diese befinden sich schön nebeneinander. Jedes Buch hat seinen festen Platz. Du kannst die Bücher ganz genau lokalisieren. Zum Beispiel kannst du sagen. Das erste Buch von links Das dritte von rechts usw. Und […]