Lotto Gewinn ermitteln

javaschueler

Neues Mitglied
Java:
import java.lang.Math;

public class Lotto_richtig {
    private int ober = 46;
    private int unter = 1;

    public static void main(String[] args){
        Lotto_richtig lotto = new Lotto_richtig();
        int zufallszahl;
        int akt_pos = 0;
        int[] tipp = new int[6];
      
        boolean enthalten = false;
        int[] gezogen = new int[6];
        String gewinn = "Leider kein Gewinn";
      
        //befülle das Feld mit 6 Zufallszahlen
      
        do{
          
            zufallszahl = lotto.generiere_Zufallszahl();
            for (int i = 0; i < tipp.length; i++){
                if (tipp[i] == zufallszahl){
                    enthalten = true;
                }
           
            }
            if (enthalten == false){
                tipp[akt_pos] = zufallszahl;
                akt_pos++;
            }
            else {
                enthalten = false;
            }
        }while (akt_pos < 6); //solange Bedingung erfüllt
       
        //sortiere die Zahlen 
        java.util.Arrays.sort(tipp);
        System.out.println(java.util.Arrays.toString(tipp));
       
        System.out.println("Die Ziehung wird durchgeführt");
        lotto.Ziehung(gezogen);
       
        gewinn = lotto.pruefe_Gewinn(gezogen,tipp);
        System.out.println(gewinn);
    }
   
   
    public String pruefe_Gewinn(int[] gezogen, int[] tipp){

       
       
        //prüfe hier, ob der Tipp einen Dreier, Vierer, Fünfer oder Sechser aufweist 
        //und gib den jeweiligen String "Dreier", "Vierer",... an die Main-Methode zurück
       
         
       
       
    }
   

   
    public int generiere_Zufallszahl(){
        double zufall;
        zufall = Math.random() * (ober - unter) + unter;
        System.out.println("generiert wurde: " + zufall);
        return (int)zufall;
    }
   
    public void Ziehung(int[] gezogen){
        int zufallszahl;
        Lotto_richtig lotto = new Lotto_richtig();
        boolean enthalten = false;
        int akt_pos = 0;
        do{
            zufallszahl = lotto.generiere_Zufallszahl();
            for (int i = 0; i < gezogen.length; i++){
                if (gezogen[i] == zufallszahl){
                    enthalten = true;
                }
            }
            if (enthalten == false){
                gezogen[akt_pos] = zufallszahl;
                akt_pos++;
            }
            else {
                enthalten = false;
            }
        }while (akt_pos < 6); //solange Bedingung erfüllt
       
        java.util.Arrays.sort(gezogen);
        System.out.println("Ziehung: " + java.util.Arrays.toString(gezogen));
    }
   
}

Hallo ich bin neu hier und habe dieses Beispiel als Hausaufgabe und habe keine Ahnung wie ich den Gewinn prüfe.

Mfg
 
Zuletzt bearbeitet von einem Moderator:

strußi

Top Contributor
du musst den inhalt deiner Arrays gegeneinander vergleichen ( 2 for-schleifen(geschachtelt)) und dabei zählen wie viele richtige es gibt, anschließden mit if else if oder switch case die ausgabe festlegen.

für den zugriff auf den inhalt in deinem Array innerhalb der schleifen musst du anstelle von arrayReferenz -> arrayReferenz nehmen

vlt kommst du selber auch die Lösung, das ist besser als die Lösung zu kopieren
Java:
import java.util.Random;

public class Lotto_richtig {
//    private final int ober = 46;
    private final int ober = 49;
    private final int unter = 1;
    private static String gewinn;

    public static void main(String[] args){
        Lotto_richtig lotto = new Lotto_richtig();
        int zufallszahl;
        int akt_pos = 0;
        int[] tipp = new int[6];

        boolean enthalten = false;
        int[] gezogen = new int[6];
       

        //befülle das Feld mit 6 Zufallszahlen

        do{
            zufallszahl = lotto.generiere_Zufallszahl();
            for (int i = 0; i < tipp.length; i++){
                if (tipp[ i] == zufallszahl){
                    enthalten = true;
                }
            }
            if (enthalten == false){
                tipp[akt_pos] = zufallszahl;
                akt_pos++;
            } else{
                enthalten = false;
            }
        } while(akt_pos < 6); //solange Bedingung erfüllt

        //sortiere die Zahlen
        java.util.Arrays.sort(tipp);
        System.out.println(java.util.Arrays.toString(tipp));

        System.out.println("Die Ziehung wird durchgeführt");
        lotto.Ziehung(gezogen);

        gewinn = lotto.pruefe_Gewinn(gezogen,tipp);
        System.out.println(gewinn);
    }


    public String pruefe_Gewinn(int[] gezogen, int[] tipp){
       
        int anzahl =0;
        for( int zi :gezogen){
           for( int ti :tipp){
               if( zi == ti){
                   anzahl++;
               }
           }
        }
        switch (anzahl) {
            case 3:
                return " drei Richtige";
            case 4:
                return " vier Richtige";
            case 5:
                return " fünf Richtige";
            case 6:
                return " sechs Richtige";
            default:
                 return "Leider kein Gewinn nur " +anzahl +" Richtige";
            }
   
    //prüfe hier, ob der Tipp einen Dreier, Vierer, Fünfer oder Sechser aufweist
    //und gib den jeweiligen String "Dreier", "Vierer",... an die Main-Methode zurück
    }



    public int generiere_Zufallszahl(){
        Random random =new Random();
        return random.nextInt(ober) +unter;
//        double zufall;
//        zufall = Math.random() * (ober - unter) + unter;
//        System.out.println("generiert wurde: " + zufall);
//        return (int)zufall;
    }

    public void Ziehung(int[] gezogen){
        int zufallszahl;
        Lotto_richtig lotto = new Lotto_richtig();
        boolean enthalten = false;
        int akt_pos = 0;
       
        do{
            zufallszahl = lotto.generiere_Zufallszahl();
            for (int i = 0; i < gezogen.length; i++){
                if (gezogen[ i] == zufallszahl){
                    enthalten = true;
                }
            }
            if (enthalten == false){
                gezogen[akt_pos] = zufallszahl;
                akt_pos++;
            } else{
                enthalten = false;
            }
        } while (akt_pos < 6); //solange Bedingung erfüllt

        java.util.Arrays.sort(gezogen);
        System.out.println("Ziehung: " + java.util.Arrays.toString(gezogen));
    }

}
 

Neue Themen


Oben