# Lottozahlen, Zufallszahlen im Array



## chellywn (11. Okt 2018)

Hallo Leute, ich soll ein Programm anfertigen, das 6 Zufallszahlen von 1-49 ausgibt. Ich bin auch schon relativ weit mit meinem Programm, aber hänge an einer stelle fest und bin am verzweifeln. Wenn ich das Programm ausführe, wird mir bei jeder Zahl eine Null ausgegen.

```
import java.awt.*;
import java.awt.event.*;

class lottozahlen extends Frame implements ActionListener
{
int feld[] = new int [7];

Button b1;
TextArea ta;

int k;
int zahl;
int zzahl;

lottozahlen()
{
setSize(500,300);
setTitle("Lotto 6 aus 49");
setLayout(null);

Label l1 = new Label("Lottozahlen");
l1.setBounds(15,80,90,20);


b1 = new Button("Zufallszahl hinzufügen");
b1.setBounds(60,40,120,30);
b1.addActionListener(this);

ta = new TextArea();
ta.setBounds(105,80,120,150);


add(b1);add(l1);add(ta);
setVisible(true);
}

public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)
{
ta.setText("");
pruefen_eintragen();
Eintrag();


}

if(e.getSource()==ta)
{String text=ta.getText();
zahl=Integer.parseInt(text);

}
}

void pruefen_eintragen()
{
boolean pr;


do{
   pr=true;
   zzahl=(int) (Math.random()*49+1);
   for (int a=0;a<7;a++)
    { if (feld[a]==zzahl) {pr=false;}
      }
    }
  while(pr==false);

}

void Eintrag()
     {
         ta.append("Ziehung der Lottozahlen: \n");
        for (int i = 0; i < 6; i++) {
        ta.append("Die " + (i+1) + ". Zahl ist " + feld[i] + "\n");
        }
}

public static void main (String a[])
{
lottozahlen l = new lottozahlen();
}}
```


----------



## Robat (11. Okt 2018)

chellywn hat gesagt.:


> wird mir bei jeder Zahl eine Null ausgegen.


Du überschreibst die Werte ja auch nirgendwo.


----------



## chellywn (11. Okt 2018)

Robat hat gesagt.:


> Du überschreibst die Werte ja auch nirgendwo.


Ich bin leider nicht so gut in Informatik haha, was bedeutet das jetzt, also wie überschreibe ich dort die Werte?


----------



## Robat (11. Okt 2018)

Zum Beispiel `arr[0]=42;`
Wie und wo du das jetzt in deinen Code einbauen musst, solltest du selber herausfinden


----------



## krgewb (11. Okt 2018)

Als Konvention sagt man immer (zumindest bei Java), dass Klassennamen mit einem Großbuchstaben und Methodennamen mit einem Kleinbuchstaben beginnen sollten. Bei dir ist es genau andersherum. (Das ist nur eine Konvention und hat keinen Einfluss darauf, ob das Programm funktioniert oder nicht.)

Du schreibst

```
int feld[] = new int [7];
...
for (int a=0;a<7;a++)
```
Wieso 7? Ist das die Zusatzzahl, die bis 2013 aus den verbleibenden 43 Kugeln gezogen wurde?
Heutzutage gibt es stattdessen die Superzahl. Diese ist einstellig und steht auf jedem Spielschein drauf. Ich weiß nicht, wie sie bei der Lottoziehung gezogen wird.

Das Folgende verstehe ich nicht. Ist das nur ein irrelevanter Schnipsel?

```
if (e.getSource() == ta) {
    String text = ta.getText();
    zahl = Integer.parseInt(text);
}
```


----------

