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:
Viel weiter kenn ich mich noch nicht aus, als Sachen in meinem Code stehen. ^^
MfG 280794
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