Einzelnen Beitrag anzeigen
Alt 31.10.10, 16:04   #30 (permalink)
EgoBolle
 
Benutzerbild von EgoBolle
 
Registriert seit: 31.10.10
EgoBolle Leistung: Facit NTK
Likes: 0
Question Java-Versuch

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

Geändert von EgoBolle (01.11.10 um 00:01 Uhr) Grund: Entgültiger Code
EgoBolle ist offline   Mit Zitat antworten
 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61