Arrays - Methoden - Java?
Guten Tag allerseits, als Vorbereitung auf die morgige Informatikklausur hab ich mal ein kleines Lottoprojekt geschrieben. Dabei habe ich zwei Arrays erstellt: der eine ist zuständig dafür, die Lottozahlen wiederzugeben, der andere einen kleinen Satz wiederzugeben, sobald die Gewinnzahl gefunden wurde. Dafür habe ich eine Methode erstellt, die überprüft, ob das Kriterium (die Gewinnzahl) erfüllt ist oder nicht. Wie kann ich jetzt die Methode aufrufen?
Schonmal danke im Voraus!
Sieht jetzt aus:
Immernoch ein Fehler:
Was soll die ueberpruefe Methode machen..?
Die Methode sol überprüfen, ob die Gewinnzahl (32121) erreicht wurde und dementsprechend den Satz "Hallo, du kleiner Glückshase" wiedergeben.
2 Antworten
Hmmm...
dass da Fehler drin sind, ist ja offensichtlich. Das Programm ist allerdings so falsch, dass ich nicht mal eine Idee hab, was du überhaupt machen willst.
Warum füllst du erst ein Array mit Lottozahlen und pickst dann Zahlen raus, die sich zu einer "Gewinnzahl" verketten? Bzw. willst du überhaupt, dass sie verkettet wird (32121) oder willst du die Summe der drei Zahlen (45) haben?
Warum machst du ein Stringarray für den Satz "Hallo, du kleiner Glückshase"?
Mit welcher Zahl soll die Glückszahl überhaupt verglichen werden? Soll der Benutzer was eingeben? Soll eine Zufallszahl erzeugt werden? So, wie es jetzt ist, wird einfach geprüft, ob die Zahlen "wahr" sind, was immer der Fall ist, wenn sie nicht 0 sind.
Bei der Funktion "ueberprüfe" versuchst du, zwei Methodenreferenzen zu übergeben. Selbst wenn du die Variablen übergeben würdest, könntest du das int-Array mit den Lottozahlen nicht als boolean-Array übergeben. Und du benutzt return, obwohl die Funktion ein void ist.
Bisher könnte man das, was ich glaube, was dein Programm machen soll, so zusammenfassen:
public class Lotto {
public static void main(String[] args) {
int gewinnzahl = 32121;
System.out.println("Die heutige Gewinnzahl lautet: " + gewinnzahl + "! Bis zum nächsten Mal bei Lottokönig!");
if (gewinnzahl == 0) {
System.out.println("Sie sind heute leider kein Gewinner! Vielleicht beim nächsten Mal");
} else {
System.out.println("Hallo, Du kleiner Glückshase!");
}
}
}
Ich weiß leider nicht genau mit was du bei ueberpruefe die Zahl abgleichen möchtest, ich nehme mal an, dass du direkt im Code einfach die Zahlen 32121 überprüfen willst du wie gesagt hast.
public boolean ueberpruefe(int[] tipp) {
return tipp[0] == 3 && tipp[1] == 2 && /* usw */;
}
In der main() müsstest du das dann folgendermaßen machen:
if (ueberpruefe(lottlezahlen)) {
for (String s : gewinner) {
System.out.println(s + " ");
}
System.out.println();
}
Ich wollte nur erwähnt haben, dass es bessre Lösungen für das Problem gibt, ich aber meine an deinen bereits vorhandenen Code angepasst habe.
Wenn du mir ein wenig mehr erklären könntest was der Code genau machen soll, kann ich vielleicht besser helfen.
Ja, jetzt musst du nur die Methode noch aufrufen - ich weiß aber nicht wie du das mit den Lottozahlen lösen willst, immerhin willst du ein boolean array haben
Wie ruft man nochmal eine Methode auf? 😅
Will ja nicht nerven, aber es geht irgendwie immernoch nicht. Hab die Methode so hingeschrieben, wie du es gesagt hast.
Ja so war das nicht direkt gedacht, adde mich mal als Freund hier ich kann dir das erklären, esse aber zuerst
Hat irgendwie nicht geklappt. Hab es jetzt aber mal so versucht.