Lotto Zufallszahlen zählen

Status
Nicht offen für weitere Antworten.

gaia

Neues Mitglied
Guten Abend liebe Community,
bin noch etwas neu in Java und habe eine Frage zu folgendem Problem:
Wir sollen Lottoziehungen simulieren. Dabei besteht die erste Aufgabe darin 10 Ziehungen mit jeweils 6 Zufallszahlen + Zusatzzahl ausgeben zu lassen. Dabei hatte ich auch kein Problem.
Hier der Quellcode dazu (es wird auch auf Nullen und doppelte Zahlen geprüft):

Code:
public class Lottozahlen {

	//Bestimmung einer Zufallszahl
	public static int zufallszahl() {
		java.util.Random zufallszahlen = new java.util.Random();	// Erzeugt das Objekt 'zufallszahlen' zur Bestimmung von Zufallszahlen
		int zufallszahlenint = zufallszahlen.nextInt(50);			// Liefert die nächste positive Integer-Zahl im Intervall von 0 bis 49 (Intervall startet bei 0, daher muss der Wert 50 sein, um 49 mögliche Zufallszahlen generieren zu können
		return zufallszahlenint;
	}

	//Methode zum bestimmen der sechs Zufallszahlen, sowie der Zusatzzahl
	public static void ziehung6Aus49() {
		int zufallszahlenArray[] = new int[7];						//Erzeugt ein Integer-Array der Länge 7 (sechs Zufallszahlen + eine Zusatzzahl)

		int k = 0;													//k ist der Laufparameter der folgenden While-Schleife um sechs Zufallszahlen + eine Zusatzzahl zu erzeugen, doppelte Zahlen überprüfen und kein Null bei den erzeugten Zufallszahlen zuzulassen
		int zahl;													//Variable der Zufallszahlen, die beim Aufrufen der zufallszahl()-Methode erzeugt wird
		boolean vorhanden;											//Abfragevariable, ob eine Zahl bereits vorhanden(true), oder nicht vorhanden (false) ist
		while (k < zufallszahlenArray.length) {						//Solange k kleiner als als die Länge des Arrays (=7) ist soll die Schleife durchlaufen werden; die ist nötig für die sechs Zufallszahlen + eine Zusatzzahl
			zahl = zufallszahl();									//Mit dem Aufruf der Methode 'zufallszahl()' wird der Variable 'zahl' eine neue Zufallszahl im Intervall von 0 bis 49 zugewiesen
			if (zahl > 0) {											//Um zu verhindern, dass keine Null gezogen wird soll das überprüfen auf vorhanden/nicht vorhanden sein, sowie das Eintragen erst dann ausgeführt, wenn die Zufallszahl 'zahl' nicht 0 ist

				// Prüfen, ob eine bereits gezogenen Zufallszhal schon vorhanden ist
				vorhanden = false;									//Ausgangswert = nicht vorhanden
				for (int i = 0; i < zufallszahlenArray.length; i++) {	//
					if (zahl == zufallszahlenArray[i]) {				//Sobald eine Zufallszahl generiert wurde und dem Zufallszahlenarray an der Stelle i zugewiesen wurde ist diese Zahl bereits vorhanden, womit vorhanden = true folgt. Dies verhindert, dass eine Zahl mehr als einmal in einer Ziehung vorkommen kann
						vorhanden = true;
					}
				}

				// Wenn die Zahl nicht vorhanden ist, soll sie eingetragen werden
				if (vorhanden == false) { 								//Wenn die Zahl nicht vorhanden ist, dann...
					zufallszahlenArray[k] = zahl;						//Dann soll dem Array an der Stelle k die oben erzeugte Zufallszahl zugeordnet werden -> s.o: zahl = zufallszahl();
					if (k == (zufallszahlenArray.length - 1)) {			//Wenn k=6, dann wird nach der Ausgabe der sechs Zufallszahlen eine Zusatzahl ausgegeben. Dies erfolgt erst dann, wenn vorher die sechse Zufallszahlen erzeugt wurden
						System.out.print("\tZusatzzahl:\t" + zufallszahlenArray[k]);	//Wenn die Bedingung erfüllt ist (k=6), dann wird die Zusatzzahl am Ende ausgegeben
					} 
					else {												//Andernfalls, also für k=0,1,2,3,4 und 5 werden die sechs Zufallszahlen ausgegeben, die vorher mit 'zufallszahlenArray[k] = zahl' in das Array geschrieben wurden ausgegeben
						System.out.print(zufallszahlenArray[k] + "\t");	//Gibt die sechs Zufallszahlen für k=0,1,2,3,4, und 5 aus
					}
					k++;												//Nach Durchlauf der While-Schleife wird k um eins erhöht, bis k<7, um die sechs Zufallszahlen und eine Zusatzzahl zu erzeugen
				}
			}
		}
	}

	public static void main(String[] args) {

		//Aufgabe a) Die Zufallszahlen sollen auf dem Bildschirm ausgegeben werden und die Methode ziehung6Aus49() zehn Mal aufgerufen werden
		for (int i = 1; i <= 10; i++) {								//For-Schleife, damit die Methode zehn Mal aufgerufen wird
			System.out.print(i + ". Ziehung: \n");					//Vor jeder Ausgabe der Zufalls- und Zusatzzahlen wird die Überschrift "x. Ziehung" ausgegeben
			ziehung6Aus49();										//Die Methode ziehung6Aus49() wird aufgerufen und damit die erzeugten Zufallszahlen, sowie die Zusatzzahl ausgegeben
			System.out.print("\n" + "################################################################################" + "\n \n"); //Trenner zwischen den Ziehungen
		}
	}

}

Die zweite Aufgabe besteht darin, dass 10000 Ziehungen simuliert werden sollen, und dabei gezählt werden soll, wie oft jede Zahl gezogen wurde und wie oft jede Zahl als Zusatzzahl gezogen wurde.
Da habe ich gedacht, dass ich meine Methode "ziehung6Aus49()" aus der Klasse Lottozahlen nur ein wenig abändere:
Code:
public class aufgabe_b {
	
	//Methode zum bestimmen der sechs Zufallszahlen, sowie der Zusatzzahl OHNE Ausgabe der Zufallszahlen und Zusatzzahlen (Abänderung der Methode aus Aufgabenteil a)), da hier 10.000 Ziehungen simuliert werden und die gezogenen Zahlen gezählt werden sollen
	public static void ziehung6Aus49OhneAusgabe() {
		int zufallszahlenArray[] = new int[7];						//Erzeugt ein Integer-Array der Länge 7 (sechs Zufallszahlen + eine Zusatzzahl)

		int k = 0;													//k ist der Laufparameter der folgenden While-Schleife um sechs Zufallszahlen + eine Zusatzzahl zu erzeugen, doppelte Zahlen überprüfen und kein Null bei den erzeugten Zufallszahlen zuzulassen
		int zahl;													//Variable der Zufallszahlen, die beim Aufrufen der zufallszahl()-Methode erzeugt wird
		boolean vorhanden;											//Abfragevariable, ob eine Zahl bereits vorhanden(true), oder nicht vorhanden (false) ist
		while (k < zufallszahlenArray.length) {						//Solange k kleiner als als die Länge des Arrays (=7) ist soll die Schleife durchlaufen werden; die ist nötig für die sechs Zufallszahlen + eine Zusatzzahl
			zahl = Lottozahlen.zufallszahl();									//Mit dem Aufruf der Methode 'zufallszahl()' wird der Variable 'zahl' eine neue Zufallszahl im Intervall von 0 bis 49 zugewiesen
			if (zahl > 0) {											//Um zu verhindern, dass keine Null gezogen wird soll das überprüfen auf vorhanden/nicht vorhanden sein, sowie das Eintragen erst dann ausgeführt, wenn die Zufallszahl 'zahl' nicht 0 ist

				// Prüfen, ob eine bereits gezogenen Zufallszhal schon vorhanden ist
				vorhanden = false;									//Ausgangswert = nicht vorhanden
				for (int i = 0; i < zufallszahlenArray.length; i++) {	//
					if (zahl == zufallszahlenArray[i]) {				//Sobald eine Zufallszahl generiert wurde und dem Zufallszahlenarray an der Stelle i zugewiesen wurde ist diese Zahl bereits vorhanden, womit vorhanden = true folgt. Dies verhindert, dass eine Zahl mehr als einmal in einer Ziehung vorkommen kann
						vorhanden = true;
					}
				}

				// Wenn die Zahl nicht vorhanden ist, soll sie eingetragen werden
				if (vorhanden == false) { 								//Wenn die Zahl nicht vorhanden ist, dann...
					zufallszahlenArray[k] = zahl;						//Dann soll dem Array an der Stelle k die oben erzeugte Zufallszahl zugeordnet werden -> s.o: zahl = zufallszahl();
					//Hier wurde die Ausgabe der Lottoziehungen entfernt
					k++;												//Nach Durchlauf der While-Schleife wird k um eins erhöht, bis k<7, um die sechs Zufallszahlen und eine Zusatzzahl zu erzeugen
				}
			}
		}
	}

	public static void main(String[] args) {

		//Aufgabe a) Die Zufallszahlen sollen auf dem Bildschirm ausgegeben werden und die Methode ziehung6Aus49() zehn Mal aufgerufen werden
		for (int i =1 ; i <= 10000; i++) {								//For-Schleife, damit die Methode zehn Mal aufgerufen wird
			ziehung6Aus49OhneAusgabe();										//Die Methode ziehung6Aus49() wird aufgerufen und damit die erzeugten Zufallszahlen, sowie die Zusatzzahl ausgegeben
		}
		for (int j = 1; j <= 49; j++) {
			System.out.println("Die " + j + " wurde " + j + " Mal gezogen." );
		}	
		
		
	}

}
Ich habe bei der Methode die Ausgabestrings entfernt, da ja keine Ausgabe der eigentlichen Ziehungen mehr stattfinden soll und in der Mainmethode habe ich eine Schleife, die dei Methode 10.000 Mal aufruft.
Jetzt weiß ich leider nicht, wie ich die Zahlen, die gezogen wurden zählen kann und auswerten kann :(
Habe vllt gedacht, dass es nach der Zuweisung der Zahlen in der Methode geschehen kann und dass dann jeweils ein Zähler für eine Zahl erhöht wird, wenn diesse gezogen wurde.

Würde mich über einige Anregungen sehr freuen. Danke!

Greetz Gaia
 

flasche000

Mitglied
Code:
public class  {
	static int[][] anzahl = new int[50][2];
	   public static void ziehung6Aus49OhneAusgabe() {
	      int zufallszahlenArray[] = new int[7];                  //Erzeugt ein Integer-Array der Länge 7 (sechs Zufallszahlen + eine Zusatzzahl)

	      int k = 0;                                       //k ist der Laufparameter der folgenden While-Schleife um sechs Zufallszahlen + eine Zusatzzahl zu erzeugen, doppelte Zahlen überprüfen und kein Null bei den erzeugten Zufallszahlen zuzulassen
	      int zahl;                                       //Variable der Zufallszahlen, die beim Aufrufen der zufallszahl()-Methode erzeugt wird
	      boolean vorhanden;                                 //Abfragevariable, ob eine Zahl bereits vorhanden(true), oder nicht vorhanden (false) ist
	      while (k < zufallszahlenArray.length) {                  //Solange k kleiner als als die Länge des Arrays (=7) ist soll die Schleife durchlaufen werden; die ist nötig für die sechs Zufallszahlen + eine Zusatzzahl
	         zahl = Lottozahlen.zufallszahl();                           //Mit dem Aufruf der Methode 'zufallszahl()' wird der Variable 'zahl' eine neue Zufallszahl im Intervall von 0 bis 49 zugewiesen
	         if (zahl > 0) {                                 //Um zu verhindern, dass keine Null gezogen wird soll das überprüfen auf vorhanden/nicht vorhanden sein, sowie das Eintragen erst dann ausgeführt, wenn die Zufallszahl 'zahl' nicht 0 ist

	            // Prüfen, ob eine bereits gezogenen Zufallszhal schon vorhanden ist
	            vorhanden = false;                           //Ausgangswert = nicht vorhanden
	            for (int i = 0; i < zufallszahlenArray.length; i++) {   //
	               if (zahl == zufallszahlenArray[i]) {            //Sobald eine Zufallszahl generiert wurde und dem Zufallszahlenarray an der Stelle i zugewiesen wurde ist diese Zahl bereits vorhanden, womit vorhanden = true folgt. Dies verhindert, dass eine Zahl mehr als einmal in einer Ziehung vorkommen kann
	                  vorhanden = true;
	               }
	            }

	            // Wenn die Zahl nicht vorhanden ist, soll sie eingetragen werden
	            if (vorhanden == false) {                         //Wenn die Zahl nicht vorhanden ist, dann...
	               zufallszahlenArray[k] = zahl;                  //Dann soll dem Array an der Stelle k die oben erzeugte Zufallszahl zugeordnet werden -> s.o: zahl = zufallszahl();
	               //Hier wurde die Ausgabe der Lottoziehungen entfernt
	               anzahl[zahl][0]+=1;
	               if (k==6)
	            	   anzahl[zahl][1]+=1;
	               k++;                                    //Nach Durchlauf der While-Schleife wird k um eins erhöht, bis k<7, um die sechs Zufallszahlen und eine Zusatzzahl zu erzeugen
	            }
	         }
	      }
	   }

	   public static void main(String[] args) {

	      //Aufgabe a) Die Zufallszahlen sollen auf dem Bildschirm ausgegeben werden und die Methode ziehung6Aus49() zehn Mal aufgerufen werden
	      for (int i =1 ; i <= 10000; i++) {                        //For-Schleife, damit die Methode zehn Mal aufgerufen wird
	         ziehung6Aus49OhneAusgabe();                              //Die Methode ziehung6Aus49() wird aufgerufen und damit die erzeugten Zufallszahlen, sowie die Zusatzzahl ausgegeben
	      }
	      for (int j = 1; j <= 49; j++) {
	         System.out.println("Die " + j + " wurde " + anzahl[j][0] + " Mal gezogen. Davon "+anzahl[j][1]+" Mal als Zusatzzahl." );
	      }   
	      
	      
	   }

	}

ein 2dim. array zählt die jeweiligen ziehunge. [x][1] ist dabei der zusatzzahlen zähler.
hoffe das ist auch was du suchst ;)
mfg
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Zufallszahlen fuer Lotto generieren Java Basics - Anfänger-Themen 28
X Lotto Zufallszahlen mit ArrayList erstellen Java Basics - Anfänger-Themen 3
K Java Lotto Spiel; ich komme nicht weiter Java Basics - Anfänger-Themen 15
U Lotto-Zahlen App Java Basics - Anfänger-Themen 34
A Lotto Programm Java Basics - Anfänger-Themen 3
J Lotto 6 aus 49 Java Basics - Anfänger-Themen 7
C Lotto 3, 4, 5, 6 Richtige nach x Ziehungen ermittelt.. Java Basics - Anfänger-Themen 7
T Lotto Zahlen in Array speichern Java Basics - Anfänger-Themen 2
Z Lotto-Programm Wieso klappt das? Java Basics - Anfänger-Themen 8
K Methoden Lotto mit sechs richtigen Java Basics - Anfänger-Themen 10
Z Lotto mit Arrays schreiben Java Basics - Anfänger-Themen 4
X Lotto Zahlen Ziehung Java Basics - Anfänger-Themen 26
M Lotto Programm Java Basics - Anfänger-Themen 18
H Methoden Lotto-Programm, Methoden ordnen & umbennen Java Basics - Anfänger-Themen 4
C Lotto Spiel Java Basics - Anfänger-Themen 23
2 Lotto-Spiel Java Basics - Anfänger-Themen 9
1 Ein weiteres Lotto programm Java Basics - Anfänger-Themen 6
R Lotto Zahlen Java Basics - Anfänger-Themen 4
B Lotto mittels TreeSet Java Basics - Anfänger-Themen 3
N Lotto Spiel Java Basics - Anfänger-Themen 12
P Lotto Spiel Java Basics - Anfänger-Themen 50
L Lotto 6 aus 49 Java Basics - Anfänger-Themen 11
K Fehler in Lotto Programm Java Basics - Anfänger-Themen 8
G Zufalls Lotto Zahlen Ausgeben Java Basics - Anfänger-Themen 16
A Lotto Zahlen Ausgeben Java Basics - Anfänger-Themen 2
V Doppelte Zahlen bei Lotto verhindern Java Basics - Anfänger-Themen 11
H Zufallszahlen generieren Java Basics - Anfänger-Themen 5
H 36 Zufallszahlen die sich nicht wiederholen Java Basics - Anfänger-Themen 27
J Zufallszahlen generieren und Werte vergleichen Java Basics - Anfänger-Themen 3
S Hilfe : Unendlich viele Zufallszahlen erstellen? Java Basics - Anfänger-Themen 8
J Fehler beim generieren von 4 Zufallszahlen Zahl doppelt ist eigentlich ausgeschlossen Java Basics - Anfänger-Themen 9
S Aus gleichverteilte Zufallszahlen normalverteilte Zufallszahlen generieren ? Java Basics - Anfänger-Themen 1
N Array mit Zufallszahlen und Divison Java Basics - Anfänger-Themen 7
A Mit Rekursion Zufallszahlen erstellen und größte finden Java Basics - Anfänger-Themen 5
S Schiffe versenken - Zufallszahlen in einem Array Java Basics - Anfänger-Themen 6
A Dreidimensionales Array mit Zufallszahlen befüllen Java Basics - Anfänger-Themen 18
J Klassen Math && Random: wie zufällig sind Zufallszahlen? Java Basics - Anfänger-Themen 19
T Methoden HashSet Objekt mit Zufallszahlen befüllen Java Basics - Anfänger-Themen 3
L Array-Problem/Zufallszahlen Java Basics - Anfänger-Themen 7
V Array mit Zufallszahlen - Anfänger - Hilfe Java Basics - Anfänger-Themen 12
B Zufallszahlen ohne Wiederholung Java Basics - Anfänger-Themen 10
D Array mit Zufallszahlen, dann sortieren: Hilfe gesucht! Java Basics - Anfänger-Themen 1
B Zufallszahlen unabhängig von Intervallen Java Basics - Anfänger-Themen 2
J Ungerade Zufallszahlen in JAVA Java Basics - Anfänger-Themen 31
B Zufallszahlen & Laufzeitmessung (insertionSort) Java Basics - Anfänger-Themen 7
W Zufallszahlen Java Basics - Anfänger-Themen 3
R Arrays Zufallszahlen Java Basics - Anfänger-Themen 10
W 10x10 Feld mit Zufallszahlen erstellen Java Basics - Anfänger-Themen 4
B Array erstellen,ausgeben,mit zufallszahlen füllen aber wie ? Java Basics - Anfänger-Themen 1
T Zufallszahlen von x bis 80 Java Basics - Anfänger-Themen 10
P Zufallszahlen ohne zahlen einer List Java Basics - Anfänger-Themen 21
K Keine doppelten Zufallszahlen im Array Java Basics - Anfänger-Themen 17
G Zufallszahlen Gewichten Java Basics - Anfänger-Themen 3
J Zufallszahlen Häufigkeit Java Basics - Anfänger-Themen 8
L 6stellige Zufallszahlen erzeugen & auf einzigartigkeit prüfen Java Basics - Anfänger-Themen 3
W Java 2 Teams mit Zufallszahlen Java Basics - Anfänger-Themen 2
R Keine doppelten Zufallszahlen Java Basics - Anfänger-Themen 2
F Array mit Zufallszahlen sortieren Java Basics - Anfänger-Themen 7
G Methoden BigInteger Zufallszahlen erzeugen Java Basics - Anfänger-Themen 5
X write() und Zufallszahlen Java Basics - Anfänger-Themen 2
L Zufallszahlen addieren Java Basics - Anfänger-Themen 6
J Mehrere Zufallszahlen erzeugen, aber keine darf doppelt erzeugt werden - Wie? Java Basics - Anfänger-Themen 5
T Problem mit Zufallszahlen Java Basics - Anfänger-Themen 2
T Matrizzen addition mit zufallszahlen Java Basics - Anfänger-Themen 10
E Zufallszahlen Java Basics - Anfänger-Themen 7
R Probleme mit Zufallszahlen Java Basics - Anfänger-Themen 10
K Datentypen Gleiche Zufallszahlen in verschiedenen Datenstrukturen Java Basics - Anfänger-Themen 6
C Zufallszahlen mit Arrays Java Basics - Anfänger-Themen 8
P Array mit Zufallszahlen von einem Wuerfel Java Basics - Anfänger-Themen 15
B Zufallszahlen in ein Array eintragen. Java Basics - Anfänger-Themen 7
L Hilfe, doppelte Zufallszahlen Java Basics - Anfänger-Themen 13
S Wie Zufallszahlen in txt speichern? Java Basics - Anfänger-Themen 4
K zufallszahlen in Array Speichern = Nullpointer exception Java Basics - Anfänger-Themen 24
F Aus Regulären Ausdrücken Zufallszahlen bilden Java Basics - Anfänger-Themen 6
M Zufallszahlen mit Random Java Basics - Anfänger-Themen 4
S Summe von Zufallszahlen Java Basics - Anfänger-Themen 9
B Zufallszahlen Java Basics - Anfänger-Themen 5
M Zufallszahlen aus einem bestimmten Intervall Java Basics - Anfänger-Themen 5
N Normalverteilte Zufallszahlen mit benutzerdefiniertem/r EW/Var Java Basics - Anfänger-Themen 5
C Zufallszahlen Problem Java Basics - Anfänger-Themen 6
C Zufallszahlen Java Basics - Anfänger-Themen 3
C Frage zur Generierung von Zufallszahlen Java Basics - Anfänger-Themen 9
W Zufallszahlen für Array Java Basics - Anfänger-Themen 3
G Problem mit Zufallszahlen Java Basics - Anfänger-Themen 6
G Zufallszahlen die alles einmal vorkommen Java Basics - Anfänger-Themen 15
A Zufallszahlen generieren Java Basics - Anfänger-Themen 2
A Problem mit dem Zufallszahlen-Generator Java Basics - Anfänger-Themen 17
J Zufallszahlen einmalig ausgeben Java Basics - Anfänger-Themen 6
B Int Array mit Zufallszahlen füllen Java Basics - Anfänger-Themen 8
G Zufallszahlen ohne doppelten Wert Java Basics - Anfänger-Themen 5
R Zufallszahlen mit Java Java Basics - Anfänger-Themen 11
N Zufallszahlen wiederholungslos erzeugen Java Basics - Anfänger-Themen 8
G Zufallszahlen erraten Java Basics - Anfänger-Themen 8
K zufallszahlen int / double, gerade / ungerade problem . Java Basics - Anfänger-Themen 2
M Zufallszahlen fertig! aber nice to have noch offen Java Basics - Anfänger-Themen 5
M generierung von zufallszahlen Java Basics - Anfänger-Themen 4
B Zufallszahlen erzeugen die nicht gleich sind ;/ Java Basics - Anfänger-Themen 10
M Zufallszahlen Java Basics - Anfänger-Themen 3
B Satz Zufallszahlen ohne Wiederholung Java Basics - Anfänger-Themen 14
G Zufallszahlen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben