Hey Leute ich bin ganz neu hier und lerne auch erst seit kurzem Programmieren...
Also ich bringe mir Java selbst bei, brauch ich für die Schule und das seit 2 Monaten, wobei ich selten lerne
Also hier mein Versuch das ganze mit Java zu machen, sicherlich ncoh zu umständlich und auch nicht komplett aber ich bin froh das ich es geschafft habe mein 1. Programm in java zu schreiben
Code:
import java.io.*;
public class LottoSimulation
{
public static void main (String[] args)
{
System.out.println("Willkommen bei Lotto Simulation >>6 aus 49<<");
int tipp[] = new int [6];
int richtig = 0; // wird für Übereinstimmung benötigt
for (int i=0; i<6; i++)
{
tipp[i] = gettipp(i);
for(int j=0; j<i; j++)
{
if(tipp[i]==tipp[j]){
System.out.println("Sie haben diese Zahl bereits getippt!");
i--;
break;
}
}
}
int ergebnis[] = new int [6];
System.out.println("Die Lottoziehung ergab folgendes Ergebnis: ");
for (int i=0; i<6; i++)
{
ergebnis[i] = ziehung();
for (int j=0; j<i; j++)
{
if (ergebnis[i]==ergebnis[j] || ergebnis[i]==0)
{
i--;
break;
}
}
System.out.println(ergebnis[i]);
}
// Lottotipp wird auf Übereinstimmung getestet:
for(int i=0; i<6; i++)
{
for(int j=0; j<6; j++)
{
if (tipp[i]==ergebnis[j]){
richtig = richtig + 1;
}
}
}
System.out.println(" Sie haben "+richtig+" richtige!");
if(richtig >= 3){
System.out.println("Herzlichen Glückwunsch, Sie hätten gewonnen");
}else{
System.out.println("Mein Beileid, Sie hätten nichts gewonnen");
}
}
public static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
public static int gettipp(int i)
{
int a = 0;
int b = 0;
double Tipp = 0;
double tipp = 0;
while (a==0)
{
Tipp = 0;
System.out.println("Bitte tippen Sie Ihre "+ (i+1) +". Lottozahl: ");
String number = new String();
try{
number = in.readLine();
}
catch(IOException e)
{
System.out.println("Fehler");
}
try{
tipp = Double.valueOf(number).doubleValue();
Tipp = tipp;
}
catch(Exception e)
{
System.out.println("Fehler! Sie haben keine akzeptable oder eine Komma-Zahl eingegeben");
continue;
}
if (!(1 <= Tipp && Tipp <= 49)) { // ! heißt nicht
System.out.println("Ihre "+ i +". Lottozahl war nicht im Bereich 1-49");
}
else{
a=1;
}
}
return (int)tipp;
}
public static int ziehung()
{
double zufall = 0;
int x = 0;
zufall = Math.random()*49;
zufall = Math.round( zufall );
x = (int)zufall;
return x;
}
} edit: das ist jetzt der entgültige Java-code der denke ich mal so ziemlich alles berücksichtigt was eigentlich aufgabe war
Bin mir nicht sicher ob ich was an der Wahrscheinlichkeit gepfuscht habe?! Ich glaube 1 und 49 sind unwahrscheinlicher als 2-48 kann das sein? (wegen der rundung bekommen sie ja weniger chance )
Kritik Ist SEHR erwünscht

PS: hab 5 Stunden gebraucht

wie gesagt erstes Programm