Liebe Community,
ich bräuchte eure Hilfe für eine Art Lotterieprogramm, den amerikanischen Powerballjackpot. Hierbei werden 5 Zahlen zwischen 1 und 69, sowohl der Powerball (eine Zahl zwischen 1-29), gezogen.
Ich habe ein Programm geschrieben, bei welchen ich diese 6 Zahlen eingeben. In der darauffolgenden while Schleife werden diese 6 zufällige Nummern gewählt. Im Programm habe ich darauf wert gelegt das diese zufälligen Nummern (random1 - random5) sich nicht doppeln. In der if-Schleife wird nun getestet, ob meine erste Zahl gleich random1 ODER random2 .... ist UND ob die Zweite Zahl random1 ODER random2 ähnelt, usw.
Sollte dies der Fall sein, wird eine Meldung ausgegeben, dass man den Jackpot gewonnen hat und wie viele Versuche benötigt wurden. Wenn nicht wird ein Counter erhöht und erneut 6 zufällige Zahlen gezogen.
Schlussendlich erkennt Java nicht wenn alle Zahlen sich ähneln.
Um Fehler meinerseits auszuschließen, habe ich die Schleife nochmal in einer anderen Datei in vereinfachter Form getestet. Auch dort funktionierte es nicht.
Das eigentliche Programm:
Die vereinfachte Version:
Vielen Dank im voraus!
ich bräuchte eure Hilfe für eine Art Lotterieprogramm, den amerikanischen Powerballjackpot. Hierbei werden 5 Zahlen zwischen 1 und 69, sowohl der Powerball (eine Zahl zwischen 1-29), gezogen.
Ich habe ein Programm geschrieben, bei welchen ich diese 6 Zahlen eingeben. In der darauffolgenden while Schleife werden diese 6 zufällige Nummern gewählt. Im Programm habe ich darauf wert gelegt das diese zufälligen Nummern (random1 - random5) sich nicht doppeln. In der if-Schleife wird nun getestet, ob meine erste Zahl gleich random1 ODER random2 .... ist UND ob die Zweite Zahl random1 ODER random2 ähnelt, usw.
Sollte dies der Fall sein, wird eine Meldung ausgegeben, dass man den Jackpot gewonnen hat und wie viele Versuche benötigt wurden. Wenn nicht wird ein Counter erhöht und erneut 6 zufällige Zahlen gezogen.
Schlussendlich erkennt Java nicht wenn alle Zahlen sich ähneln.
Um Fehler meinerseits auszuschließen, habe ich die Schleife nochmal in einer anderen Datei in vereinfachter Form getestet. Auch dort funktionierte es nicht.
Das eigentliche Programm:
Java:
import static java.lang.Math.random;
import java.util.Random;
import java.util.Scanner;
public class Powerball
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.print("Please enter your first number: ");
int number1 = in.nextInt();
System.out.print("Please enter your second number: ");
int number2 = in.nextInt();
System.out.print("Please enter your third number: ");
int number3 = in.nextInt();
System.out.print("Please enter your fourth number: ");
int number4 = in.nextInt();
System.out.print("Please enter your fifth number: ");
int number5 = in.nextInt();
System.out.print("Please enter your powerball number: ");
int powerball = in.nextInt();
System.out.println("");
System.out.println("Drawing in progress ...");
System.out.println("");
Random random = new Random();
int random1=0;
int random2=0;
int random3=0;
int random4=0;
int random5=0;
int randomPwrBall=0;
int temp = 0;
int counter = 1;
int counter2= 0;
int counter3= 0;
boolean found = false;
while (found == false)
{
random1 = random.nextInt(69) + 1;
//+++++++++ random 2 ++++++++++++++++++++++++++++++++++++++++++
temp = random.nextInt(69) + 1;
while(random1 == temp)
{
temp = random.nextInt(69) + 1;
}
temp = random2;
//+++++++++ random 3 ++++++++++++++++++++++++++++++++++++++++++
temp = random.nextInt(69) + 1;
while(random1 == temp || random2 == temp)
{
temp = random.nextInt(69) + 1;
}
temp = random3;
//+++++++++ random 4 ++++++++++++++++++++++++++++++++++++++++++
temp = random.nextInt(69) + 1;
while(random1 == temp || random2 == temp || random3 == temp)
{
temp = random.nextInt(69) + 1;
}
temp = random4;
//+++++++++ random 5 ++++++++++++++++++++++++++++++++++++++++++
temp = random.nextInt(69) + 1;
while(random1 == temp || random2 == temp || random3 == temp || random4 == temp)
{
temp = random.nextInt(69) + 1;
}
temp = random5;
//+++++++++ Powerball ++++++++++++++++++++++++++++++++++++++++++
randomPwrBall = random.nextInt(26) + 1;
//+++++++++ testing with own numbers ++++++++++++
if (
(number1 == random1 || number1 == random2 || number1 == random3 || number1 == random4 ||
number1 == random5)
&& (number2 == random1 || number2 == random2 || number2 == random3 || number2 == random4 ||
number2 == random5)
&& (number3 == random1 || number3 == random2 || number3 == random3 || number3 == random4 ||
number3 == random5)
&& (number4 == random1 || number4 == random2 || number4 == random3 || number4 == random4 ||
number4 == random5)
&& (number5 == random1 || number5 == random2 || number5 == random3 || number5 == random4 ||
number5 == random5)
&& (powerball == randomPwrBall))
{
System.out.println("Congratulations! You won the Powerball with " + counter + " draws.");
found = true;
}
else{
counter = counter +1;
}
}
}
}
Die vereinfachte Version:
Java:
public class Vereinfacht
{
public static void main(String[] args)
{
int number1=1;
int number2=2;
int number3=4;
int random1=4; //übereinstimmende Nummer mit Zufallszahl
int random2=5;
int random3=6;
if ((number1 == random1 || number1 == random2 || number1 == random3)
&& (number2 == random1 || number2 == random2 || number2 == random3)
&& (number3 == random1 || number3 == random2 || number3 == random3))
{
System.out.println("Jede Zahl stimmt mit einer zufälliges Zahl überein.");
}
else {
System.out.println("Neuziehing nötig.");
}
}
}
Vielen Dank im voraus!