Lottoprogramm - Brauche Hilfe

  • Themenstarter Themenstarter Punkbuster
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
P

Punkbuster

Gast
Nabend zusammen,
um gleich zur Sache zu kommen, die Aufgabe lautet: Simulieren Sie das Lotto-Spiel (6 aus 49) mit einer while-Schleife(Klasse Math Dienst random)

Ich komme einfach auf keine gute Idee wie ich das machen könnte, hier meine bisherigen Codesachen. Ich glaube mein Kopf explodiert gleich^^

Java:
/**
 * @version 9.12.2009 
 */
public class Aufgabe2
{
    // Bezugsobjekte

    // Attribute
private int i;
private int zahl;
    // Konstruktor
    public Aufgabe2()
    {
    }

    // Dienste
  
    public int lotto(int zahl1, int zahl2, int zahl3, int zahl4, int zahl5, int zahl6)
    {
        while  (i <= 6);
        {
            if (zahl1 == ziehung())
            {
                i++;
            }
            if (zahl2 == ziehung())
            {
                i++;
            }
            if (zahl3 == ziehung())
            {
                i++;
            }
            if (zahl4 == ziehung())
            {
                i++;
            }
            if (zahl5 == ziehung())
            {
                i++;
            }
            if (zahl6 == ziehung())
            {
                i++;
            }        
        }
        return i;
    }

    private int ziehung()
    {
        return (int)(Math.random() * 49)+1;
    }
}

Hoffe einer kann mir möglichst Schnell helfen ;-)
 
Java:
import java.util.Random;
public class LottoSpiel { 
	private static final int MAX_ZIEHUNGEN 	= 6;
	private static final int MAX_VALUE 		= 49;
	
	private int[][] tipps;
	private int[] ziehung;
	private Random generator;
	
	public static void main(String...args){
		run();
	}
	
	public static void run(){
		int[][]my_tipps = {{1, 16,32, 21, 44, 36},
						  {34, 23, 9, 44, 33, 3}};
		LottoSpiel my_game = new LottoSpiel(my_tipps);
			my_game.fillZiehung();
			my_game.vergleich();
	}
	
	private LottoSpiel(int[][]tipps){
		this.ziehung = new int[MAX_ZIEHUNGEN];
		generator = new Random();
		this.tipps = tipps;
	}
	
	private void fillZiehung(){
		for(int i=0; i<MAX_ZIEHUNGEN; i++){
			ziehung[0] = generator.nextInt(MAX_VALUE+1);
		}
	}
	
	private void vergleich(){
		for(int i=0; i<tipps.length; i++){
			int gleichheit = 0;
			for(int j=0; j<ziehung.length; j++){
				if(tipps[i][j] == ziehung[j])
					++gleichheit;

			}
			if(gleichheit < 3)
				System.out.println("Sie haben leider in der "+(i+1)+". Reihe einen falschen tipp abgegeben.");
			else
				System.out.println("GLÜCKWUNSCH! Sie haben einen "+gleichheit+"er in der "+(i+1)+". Reihe getippt!!!");
		}
	}
}
Also hier wird im Konstruktor ein 2-Dim Array Übernommen wobei jede Reihe für einen Tipp steht
und dieser wird dann mit dem Random befüllten Array verglichen
 
ähm also soviel info hette ich noch nicht, als das ich das verstehe würde :-D

was mache ich den bei mir falsch
außer while (blub) hat hab ich nen ; das ist falsch
aber bei mir wird immer 7 ausgegeben ?!
 
naja dein i zählt ja in der while schleife solange es < = 6 ist
und wenn i dann 7 wird geht das programm aus der schleife raus und der
nächste befehl ist return i; und i ist ja wie erwähnt am ende der schleife 7 :toll:
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben