Lotto-Spiel

280794

Neues Mitglied
Hallo. :)
Wir sollen in der Schule ein Lotto Spiel programmieren, wobei man halt alle 6 Zahlen im Bereich von 1-49 richtig haben muss um zu gewinnen. (Also nix mit Zusatzzahl usw. ^^)

Ich bin auch schon meiner Meinung nach fast fertig. Probleme,kriege ich momentan nur mit der Überprüfung, ob ein Wert doppelt eingegeben wird. Damit meine ich, dass ich nach aktuellem Stand zum Beispiel 6x auf die 1 tippen kann... Ich habe schon einige Zeit herumprobiert, kriege aber nicht hin, dass er doppelte Zahlen abweist. Also ich fänd es richtig nett wenn ihr mir dabei helfen könntet. :)

Hier der Quellcode:
Java:
import java.util.*;
public class Lotto_Spiel
{
	public static void main(String args[])
	{
		// Variablen, Arrays anlegen
		Scanner eingabe = new Scanner(System.in);
		int Benutzer[] = new int[6];
		int Lotto[] = new int[6];
		int lottozahl_nummer = 1;
		
		
		eingeben(eingabe, Benutzer);
		
		
		ausgabe_auswahl(Benutzer);
		
		
		lottozahlen_ziehen(Lotto, lottozahl_nummer);
		
		
		gewonnen_oder_verloren(Benutzer, Lotto);
		
	}

	private static void gewonnen_oder_verloren(int[] Benutzer, int[] Lotto) // Überprüft ob man gewonnen hat (vergleicht Zufallszahlen mit getippten Zahlen)
	{
		if (Benutzer[0] == Lotto[0] && Benutzer[1] == Lotto[1] && Benutzer[2] == Lotto[2] && Benutzer[3] == Lotto[3] && Benutzer[4] == Lotto[4] && Benutzer[5] == Lotto[5])
		{
			System.out.println("Sie haben im Lotto gewonnen!!!");
		}
		else
		{
			System.out.println("Sie haben leider verloren!");
		}
	}

	private static void lottozahlen_ziehen(int[] Lotto, int lottozahl_nummer) // Zieht 6 Zufallszahlen / (leider auch noch doppelte)
	{
		int counter1;
		int counter2;
		for (counter1 = 0 ; counter1 != 6 ; counter1++)
		{
			Lotto[counter1] = (int)(Math.random()*49+1);
		}
		
		
		for (counter2 = 0 ; counter2 != 6 ; counter2++)
		{
			System.out.println("Lottozahl Nummer "+lottozahl_nummer+" ist: "+Lotto[counter2]);
			lottozahl_nummer++;
		}
	}

	private static void ausgabe_auswahl(int[] Benutzer) // gibt die getippten zahlen aus
	{
		int counter;
		for (counter = 0 ; counter != 6 ; counter++)
		{
			System.out.println("Ihre gewählten Lottozahlen sind: "+Benutzer[counter]);
		}		
		System.out.println("Lottozahlen werden gezogen.");
	}

	public static void eingeben(Scanner eingabe, int[] Benutzer) // Benutzer Zahlen tippen lassen
	{
		int counter;
		int gueltigkeit = 0;
		for (counter = 0 ; counter != 6 ; counter++)
		{
			System.out.println("Geben sie Ihre Lottozahlen ein: ");
			Benutzer[counter] = eingabe.nextInt();
			if (Benutzer[counter] <= 0 || Benutzer[counter] > 49) // prüft ob die Zahl zwischen 1 und 49 ist
			{
				System.out.println("Ihre Lottozahlen dürfen nicht <1 oder >49 sein!!!");
				counter--;
			}else {
				if (counter > 0)
				istGueltig (Benutzer, Benutzer[counter], counter - 1, gueltigkeit);
				if (gueltigkeit == 1)
				{
					System.out.println("Sie können nicht ein weiteres Mal auf diese Zahl setzen!");
					counter--;
				}
				else
				{
				}
			}
		};
	}

	private static int istGueltig(int[] Benutzer, int zahl, int counter, int gueltigkeit) // soll doppelte Zahlen erkennen
	{
		int i;
		for (i = 0 ; i != counter ; i++)
		{
			if (Benutzer[counter] == Benutzer[i])
			{
				gueltigkeit = gueltigkeit + 1;
			}
			else
			{
				gueltigkeit = 0;
			}
		}
		return gueltigkeit;
	}
}

Viel weiter kenn ich mich noch nicht aus, als Sachen in meinem Code stehen. ^^

MfG 280794
 

Nodiraa

Mitglied
Eine Möglichkeit ist, dass Du von allen Lottozahlen noch ein Array anlegst, diesmal aber boolean und wenn eine Zahl gezogen wurde, setzt Du den Wert auf true, bei erneuter Eingabe überprüfst Du dieses Array und gibst eine Meldung aus, dass diese Zahl schon benutzt wurde.
 

Final_Striker

Top Contributor
Ich habe schon einige Zeit herumprobiert, kriege aber nicht hin, dass er doppelte Zahlen abweist. Also ich fänd es richtig nett wenn ihr mir dabei helfen könntet.

Naja, du ziehst eine Zahl und überprüfst ob die Zahl bei den gezogenen schon dabei ist. Wo genau ist da das Problem?

Als Tipp: Verwende eine while-Schleife, die so lange läuft bis 6 unterschiedliche Zahlen gezogen worden sind.
 
S

SlaterB

Gast
ich sehe den Fehler, aber wenn du ihn nicht selber findest hat doch Programmierung keinen Zweck,

kannst du mit Worten beschreiben was aktuell nicht funktioniert? sicherlich die Doppel-Prüfung,
aber was machst du dort, was ist dein Plan und wieso funktioniert er nicht?

wenn du nicht weißt woran es scheitert, warum schaust du nicht nach, loggst etwa mit System.out.println(),
was in der Methode istGueltig() passiert, welche Werte werden verglichen, was kommt für gueltigkeit am Ende raus?
usw.
 

pro2

Bekanntes Mitglied
Was mir noch nebenbei auffällt: Wie soll sein Main Programm später das Array kennen, wenn du er es nicht zurück gibt? Java ist doch immer Call by Value, also wird dein in der Main definiertes Array nie neue Zahlen erhalten, oder?
 

Java-Star

Aktives Mitglied
Hi,

ich habe hier ein kleines Lotto-Programm ;)
Vielleicht nicht das, was du willst, aber etwas (Aus einen Buch kopiert):

package Lotto;
import java.util.*;

public class Klass6
{
public static void main(String[] args)
{
// Startwerte, Lottozahlzahlenfeld
final int ANZAHL = 6; final int MAX = 49;
boolean[] Lottozahl = new boolean[MAX+1];
int[] Zufall = new int[ANZAHL+1];
// Alle Zahlen im "Lottozahlpott" auf "noch nicht gezogen"
for (int i = 1; i < Lottozahl.length; i++) Lottozahl = false;
// Sechs Zahlen "ziehen"
for (int Nr = 1; Nr < Zufall.length; Nr++)
{
// noch nicht verwendete Zufallszahl suchen
do
{
Zufall[Nr] = (int)(Math.random()*MAX)+1;
}
while (Lottozahl[Zufall[Nr]]);
// Benutzte Zahl als "gezogen" markieren
Lottozahl[Zufall[Nr]] = true;
// System.out.println (Nr + ". Ziehung: " + Zufall[Nr]);
}
// Sortieren und anzeigen
Arrays.sort (Zufall);
for (int Nr = 1; Nr < Zufall.length; Nr++)
System.out.println (Nr + ". Zahl: " + Zufall[Nr]);
}
}


Sag, wenn es dir geholfen hat

J-Star =)
 

Final_Striker

Top Contributor
ich habe hier ein kleines Lotto-Programm
Vielleicht nicht das, was du willst, aber etwas (Aus einen Buch kopiert):

Es hilft einem viel mehr wenn man es selbst macht, als irgendwelche Lösungen aus Büchern zu kopieren


Dieser dicke rote Hinweis ist dir immer noch nicht aufgefallen?

Java™ Quelltext ist bitte in [ JAVA]-Tags zu schreiben: [ JAVA]hier Java Code einfügen[/ JAVA]
 

Landei

Top Contributor
Die einfachste Lösung für das Lotto-Problem ist, einfach keine doppelten Zahlen zu ziehen. Und das geht so:

- Lege eine Liste an, z.B. eine [c]ArrayList<Integer>[/c]
- Fülle die Liste mit den Zahlen von 1 bis 49
- Mische die Liste mit [c]java.util.Collections.shuffle[/c]
- Nimm die ersten 6 Zahlen der Liste
 

Crian

Top Contributor
Es ging nicht um das Ziehen, sondern um die vom Benutzer eingegebenen, wenn ich das richtig verstanden habe.

Verwende ein Set und frage den Benutzer so lange nach Zahlen, bis sechs Stück drin sind.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Java Lotto Spiel; ich komme nicht weiter Java Basics - Anfänger-Themen 15
C Lotto Spiel Java Basics - Anfänger-Themen 23
N Lotto Spiel Java Basics - Anfänger-Themen 12
P Lotto Spiel Java Basics - Anfänger-Themen 50
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
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
L Lotto 6 aus 49 Java Basics - Anfänger-Themen 11
P Zufallszahlen fuer Lotto generieren Java Basics - Anfänger-Themen 28
K Fehler in Lotto Programm Java Basics - Anfänger-Themen 8
G Lotto Zufallszahlen zählen Java Basics - Anfänger-Themen 3
G Zufalls Lotto Zahlen Ausgeben Java Basics - Anfänger-Themen 16
A Lotto Zahlen Ausgeben Java Basics - Anfänger-Themen 2
X Lotto Zufallszahlen mit ArrayList erstellen Java Basics - Anfänger-Themen 3
V Doppelte Zahlen bei Lotto verhindern Java Basics - Anfänger-Themen 11
N Hey Leute und zwar versuche ich gerade ein 2D Spiel zu Programmieren aber die Figur will sich nicht nach links oder rechts bewegen :( Java Basics - Anfänger-Themen 12
I Threads Spiel gol Java Basics - Anfänger-Themen 6
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
J ArrayList vergleichen im spiel Mastermind Java Basics - Anfänger-Themen 2
enesss tictactoe spiel Java Basics - Anfänger-Themen 5
Jxhnny.lpz TicTacToe Spiel vs Computer. (Probleme) Java Basics - Anfänger-Themen 7
httprt Probleme bei dem erstellen von leveln in meinem Spiel Java Basics - Anfänger-Themen 2
berserkerdq2 Habe ein Spiel entwickelt, dass immer in der 4 Runde einen cast-Fehler erhält Java Basics - Anfänger-Themen 3
berserkerdq2 Spiel hängt sich immer in der 4 Runde auf, obwohl ich jede Runde das gleiche mache Java Basics - Anfänger-Themen 1
Ekooekoo Hilfe spiel Java Basics - Anfänger-Themen 5
sserio Schwimmen als Spiel. Problem mit to String/ generate a card Java Basics - Anfänger-Themen 4
Kennewick Basketball Spiel Ergebnisse Java Basics - Anfänger-Themen 11
X Erste Schritte Hilfe bei einem kleinen Spiel. Java Basics - Anfänger-Themen 19
D Snake-Spiel ähnliche Aufgabe Hilfe Java Basics - Anfänger-Themen 3
R Hangman-Spiel-zufälliges Wort ermitteln Java Basics - Anfänger-Themen 4
JEP1 Java Dialog Fenster schließen Spiel Java Basics - Anfänger-Themen 0
I Simples Risiko-Spiel Java Basics - Anfänger-Themen 5
Hallolu Pong-Spiel: Schläger schneller werden lassen Java Basics - Anfänger-Themen 9
M Java Spiel wie Wer wird Millionär Java Basics - Anfänger-Themen 1
T Startbildschirm für ein Spiel erstellen Java Basics - Anfänger-Themen 0
Z Kein überprüfen des gesamten Arrays möglich.(Viergewinnt Spiel) Java Basics - Anfänger-Themen 6
G Ufo Spiel programmieren Java Basics - Anfänger-Themen 13
C Java Spiel Java Basics - Anfänger-Themen 3
J Spiel programmieren Java Basics - Anfänger-Themen 16
S Spiel-Programmieren. Wenn ein Objekt den anderen berührt. Java Basics - Anfänger-Themen 6
B Memory Spiel Java Basics - Anfänger-Themen 29
J Memory-Spiel Aktivierung der Methode mit Timer Java Basics - Anfänger-Themen 44
Kamy Ein einfaches "Vier Gewinnt" Spiel für Anfängerin Java Basics - Anfänger-Themen 51
A Breakout-Spiel , Ball mit Platten abprallen lassen Java Basics - Anfänger-Themen 1
S Spiel programmieren mit Java Java Basics - Anfänger-Themen 11
Olis Erste Schritte Simples Memory Spiel möglich? Java Basics - Anfänger-Themen 1
J Spiel mit Button klick starten Java Basics - Anfänger-Themen 9
C Rekursives Backtracking beim Spiel Peg Java Basics - Anfänger-Themen 22
M Spiel programmieren Java Basics - Anfänger-Themen 16
Spencer Reid Feedback zu kleinem Spiel Java Basics - Anfänger-Themen 4
kokojamboo92 Spiel programmieren Java Basics - Anfänger-Themen 1
R Kleines Java Spiel funktioniert nicht. Java Basics - Anfänger-Themen 2
I Spiel Java Basics - Anfänger-Themen 34
H ein einfaches Tic Tac Toe Spiel Java Basics - Anfänger-Themen 1
I Spiel programmieren. Java Basics - Anfänger-Themen 16
B Hilfe bei Escape - Spiel Java Basics - Anfänger-Themen 6
S Java-Spiel Java Basics - Anfänger-Themen 2
M Nim-Spiel geht in den negativen Bereich Java Basics - Anfänger-Themen 1
K Klassen Registrierungsseite für ein Spiel Java Basics - Anfänger-Themen 6
J Programmierung Quiz Spiel Java Basics - Anfänger-Themen 3
J Programmierung Quiz Spiel Java Basics - Anfänger-Themen 2
M Brauche Tipps für ein Spiel Java Basics - Anfänger-Themen 4
S Probleme mit GamGrid Spiel-Erstellung => Actor reagiert nicht auf Tastatur Java Basics - Anfänger-Themen 2
Mxxxt Mosaik Spiel - Steuerpanel wird nicht angezeigt Java Basics - Anfänger-Themen 5
M Erste Schritte Zufallszahl Spiel Problem Java Basics - Anfänger-Themen 7
Z Erste Schritte Kleines 2D. Spiel Objekt Bewegung funktioniert nicht Java Basics - Anfänger-Themen 2
H Spiel Kniffel: Gesamtes Array untersuchen. Java Basics - Anfänger-Themen 15
Tacofan Hangman als fertiges Spiel Java Basics - Anfänger-Themen 7
M Array und Objektorientierung? - TicTacToe Spiel Java Basics - Anfänger-Themen 43
C Klassen Sudoku-Spiel Werte werden nicht gesetzt Java Basics - Anfänger-Themen 4
K Kleines Spiel auf Java programmieren Java Basics - Anfänger-Themen 2
W Tic Tac Toe Spiel ohne Arrays Java Basics - Anfänger-Themen 7
S Im objektorientiertem "Spiel" kämpfen Java Basics - Anfänger-Themen 3
I Klassen Umsetzungsfrage zu Spiel "Zuul" Java Basics - Anfänger-Themen 3
F Mastermind Spiel Java Basics - Anfänger-Themen 9
H Liste ausgeben (Spiel Hey Fisch (software-challenge) ändern Anzahl Fische) Java Basics - Anfänger-Themen 1
F Game-Engine für textbasierendes Spiel: Architektur? Java Basics - Anfänger-Themen 9
K Erste Schritte Frage Antwort Spiel - Fragen zur Planung Java Basics - Anfänger-Themen 2
J Java Spiel Zufallsauswahl für Zugbeginn Java Basics - Anfänger-Themen 3
J Frage Antwort Spiel - Wie Zeitcountdown realisieren? Java Basics - Anfänger-Themen 2
L Erste Schritte Spiel: Glückliches Sieben Java Basics - Anfänger-Themen 3
T Hangman spiel Java Basics - Anfänger-Themen 5
J 2 Pc's - Spiel gegeneinander ?! Java Basics - Anfänger-Themen 3
V Spiel Programmieren Java Basics - Anfänger-Themen 9
P 2D-Spiel und Bildschirmgröße Java Basics - Anfänger-Themen 2
O Methoden Fehlermeldung(Illegal start of expression) bei 4-Gewinnt-Spiel Java Basics - Anfänger-Themen 5
T Blöcke für ein Jump and Run Spiel Java Basics - Anfänger-Themen 8
S 2D-Spiel mit Threads... Java Basics - Anfänger-Themen 3
S 2D-Spiel im Vollbild an größe anpassen? Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben