Brauche Hilfe bei diesem Array


Sundiego101

Grünschnabel
Hallo,
ich muss das Lottospiel Keno programmieren. Bei Keno kann ein Spieler zwischen zwei und 10 Kreuzen auf einem Spielfeld von 70 Zahlen machen. Die Anzahl der Kreuze bestimmt den Keno-Typ des Spieles. Anschließend werden 20 Zahlen aus den 70 Zahlen gezogen (Die Ziehung der Zahlen erfolgt ohne zurücklegen der Zahlen - sprich keine Zahl kann doppelt gezogen werden). Die gezogenen und die getippten Zahlen werden anschließend verglichen.

Nun, da ich noch Neuling bin, habe ich so meine Probleme und zwar bei folgendem:
"Die Methode static int[] drawNumbers()erzeugt ein Array der Länge 71, in dessen Zellen die 20 zufällig gezogenen Kenozahlen gespeichert werden und zwar so, dass auf dem entsprechenden Index des Arrays eine 1 steht und an den anderen Stellen eine 0. Dieses Array wird zurückgegeben "

Das habe ich bisher gemacht:
Java:
 public static int[] drawNumbers () {
        int[] numbers = new int[71];
    }
Da ich, wie bereits gesagt, Neuling bin, weiß ich nicht weiter. Kann mir jemand Helfen?
 

Bratkartoffel

gebratene Kartoffel
Premium-User
Hi,

Die Aufgabenstellung ist soweit klar.

Woran scheitert es nun?
Was macht dir Probleme?
Was hast du ausser der einen Zeile probiert?

Grüsse,
BK
 

Sundiego101

Grünschnabel
Nun ja, da wir die Math.random Methode benutzen sollen, habe ich folgendes probiert:

Java:
static int[] drawNumbers () {
        int[] numbers = new int[71];
        int z = (int) (Math.random()*20);
        return z;
Hat nur leider nicht geklappt.
 

ikosaeder

Teekannen-Agnostiker
Was hat nicht geklappt? Gibt es einen Fehler mit javac? Oder einen Fehler beim ausführen? Poste doch mal den ganzen Code. Vielleicht in einem Pastebin oder hier:
 

ikosaeder

Teekannen-Agnostiker
Man kann bei jdoodle nur speichern wenn man eingeloggt ist, schade.
Ich habe den Code mal etwas angepasst. Noch nicht ganz das was du willst. Aber er lässt sich ausführen.
Java:
public class KenoLotto{


 public   static int[] drawNumbers () {
        int[] numbers = new int[71];
        for(int i =1;i<20;i++){
            int z=(int )(Math.random()*71);
            numbers[z]=z;
            System.out.println(numbers[z]);
        }
        return numbers;
}
    public static void main(String [] args){
        int [] x=drawNumbers();
    }
}
[code]
 

zerix

Hausmeister
Moderator
Nun ja, da wir die Math.random Methode benutzen sollen, habe ich folgendes probiert:

Java:
static int[] drawNumbers () {
        int[] numbers = new int[71];
        int z = (int) (Math.random()*20);
        return z;
Hat nur leider nicht geklappt.
@Sundiego101
Dir wird keiner die direkte Lösung posten. Meine Vermutung ist nämlich, dass du das möchtest, da dein Code, bis auf Array mit 71 Feldern und Math.random() für eine Zufallszahl zu generieren, nichts von der Aufgabenstellung enthält. Dass der Aufruf von Math.random nicht 20 Array-Zellen auf 1 setzt, sollte wohl auch bekannt sein.
Wenn ihr Arrays behandelt, solltet ihr schon Schleifen und if-Anweisungen kennen und wissen wie man Array-Zellen mit einem Wert befüllt. Deshalb möchte ich dich bitten doch etwas Eigeninitiative zu zeigen.
Wenn es dann Probleme gibt, hilft man dir gerne.
 
Zuletzt bearbeitet:

Neue Beiträge