tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
2280
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    di-five Tutorials.de Gastzugang
    Hallo,

    ich habe ein Problem mit der Ausgabe der Zusatzzahl eines Lottozahlengenerators:

    Code :
    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
    62
    
    class Aufgabe3
    {
        private static int zahl()
        {
            return (int) (49*Math.random()+1);
        }
        
        public static void main(String[] args)
        {
            System.out.println("");
            System.out.println("Lottozahlengenerator");
            
            boolean[] arrayZahl = new boolean[50];
            
            // Array mit true initialisieren
            for(int i=1; i<=49; i++)
            {
                arrayZahl[i] = true;
            }
            
            // Ausgabe der 6 Ziehungszahlen in der Reihe der Ziehung
            System.out.println("\nAusgabe der 6 Ziehungszahlen in der Reihe der Ziehung:");
            int j = 1;
            int lottozahl;
            while(j<=6)
            {
                lottozahl = zahl();
                if(arrayZahl[lottozahl] == true)
                {
                    arrayZahl[lottozahl] = false;
                    System.out.println(lottozahl);
                    j++;
                }
            }
            
            // Ausgabe der Zusatzzahl
            System.out.println("\nAusgabe der Zusatzzahl:");
            int zusatzzahl;
            for(int k=1; k<=49; k++)
            {
                zusatzzahl = zahl();
                if(arrayZahl[zusatzzahl] == true)
                {
                    System.out.println(zusatzzahl);
                    break;
                }
            }
            
            // Ausgabe der 6 Ziehungszahlen in sortierter Reihenfolge
            System.out.println("\nAusgabe der 6 Ziehungszahlen in sortierter Reihenfolge:");
            for(int l=1; l<=49; l++)
            {
                if(arrayZahl[l] == false)
                {
                    System.out.println(l);
                }
            }
            
            // Erneute Ausgabe der Zusatzzahl
            System.out.println(zusatzzahl);
        }
    }

    Die drittletzte Zeile in dem Code funktioniert nicht. ich kann die Variable zusatzzahl nicht erneut ausgeben, und weiß nicht warum

    javac gibt folgende Fehlermeldung aus:

    Aufgabe3.java:60: error: The local variable zusatzzahl may not have been initialized
    System.out.println(zusatzzahl);

    1 problem (1 error)
    Aber die Variable wurde doch durch int zusatzzahl initialisiert.

    Kann mir jemand sagen, warum ich "zusatzzahl" nicht ausgeben kann?

    Viele Grüße
    di-five
    Geändert von di-five (16.01.09 um 18:03 Uhr)
     

  2. #2
    Xandro Xandro ist offline - Mistkerl -
    Registriert seit
    Oct 2005
    Beiträge
    255
    Moin,

    zusatzzahl wurde nicht initialisiert, sondern lediglich deklariert.
    Initialisiere die Zahl doch einfach mit dem Wert 0:
    Code java:
    1
    
    int zusatzzahl = 0;
    Der Wert wird dann ja eh überschrieben und damit ist die Variable auch für Deine Ausgabe entsprechend verfügbar.

    Du musst dabei nämlich unterscheiden, dass System.out.println(zusatzzahl); nichts von der vorherigen Anpassung der Zusatzzahl weiß.
    Da diese wie der Compiler sagt, als nicht initialisiert hinterlegt ist, würde das einen Fehler verursachen (und macht es ja auch).

    Gruß,
    Xan
     

  3. #3
    di-five Tutorials.de Gastzugang
    Hi Xan,

    wenn ich zusatzzahl initialisiere statt nur zu deklarieren funktioniert es!

    Vielen Dank für deine Hilfe!

    Gruß di-five
     

Ähnliche Themen

  1. Lottozahlengenerator, Tic Tac Toe, C#
    Von Roaddog99 im Forum .NET Application und Service Design
    Antworten: 2
    Letzter Beitrag: 19.07.10, 10:12
  2. Antworten: 1
    Letzter Beitrag: 02.07.10, 10:35
  3. [AWT] Lottozahlengenerator, Aktualisieren-Button?
    Von dsone im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 3
    Letzter Beitrag: 26.04.06, 17:03