Missing Return Statement

Jiscona

Mitglied
Hallo,

ich habe ein Programm geschrieben, welches in einer Schleife return beinhaltet:
Code:
private JButton b_anweisung(String text, int x, int y) {
    JButton b_anweisung[] = new JButton[100];
        for (int i = 0;i < 100;++i) {
        b_anweisung[i].setBounds(600, hoehe, 200, 60);
        b_anweisung[i].setText("Erstelle Integer [Name]");
        b_anweisung[i].setMargin(new Insets(2, 2, 2, 2));
        
        b_anweisung[i].addMouseMotionListener(new MouseAdapter() {
            @Override
            public void mouseDragged(MouseEvent e) {
                Rectangle bounds = b_anweisung[i].getBounds();
                bounds.x += e.getX();
                bounds.y +=  e.getY();
                b_anweisung[i].setBounds(bounds);
            }
        });
       return b_anweisung; 
    }  // end of for
    
    }
Dann kommt allerdings als Fehlermeldung:
Code:
GUI2.java:51:5: error: missing return statement
    }
    ^
Und ich habe wirklich fast keine Ahnung über return und deswegen weiß ich nicht, wie ich das richtig machen soll. Könntet ihr mir vielleicht helfen?

VG und Danke im Voraus.
 
K

kneitzel

Gast
Deine return anweisung ist in der for schleife. Du willst doch nicht aus der for Schleife raus springen direkt beim ersten Durchauf.

Und meckern tut er, weil der Compiler auch an den Fall denkt, dass er nie in die for schleife rein geht ... dann würde es kein return Befehl geben ...

Und dann stimmt da auch der Rückgabetyp nicht. Du willst ein JButton zurück geben, aber im return gibst du ein JButton[] zurück.
 

temi

Top Contributor
Wie müsste es denn dann aussehen?
Beschreibe doch mal in wenigen Worten, was du erreichen möchtest.

ich habe wirklich fast keine Ahnung über return

Mit return kannst du eine Methode verlassen und ggf. noch einen Rückgabewert mitgeben, z.B.
Java:
// Eine Methode mit einem int als Rückgabewert
public int add(int a, int b) {
    int sum = a + b;
    return sum; // hier wird ein int als Ergebnis zurückgegeben
}
 

temi

Top Contributor
Ich möchte einfach b_anweisung als Feld speichern
Wo möchtest du denn b_anweisung speichern?

Aktuell erzeugst du in einer Methode ein lokales Array, welches 100 JButtons aufnehmen kann. Nachdem Irgendwann (irgendwann ist allerdings genau im ersten Schleifendurchlauf) innerhalb des Codes versuchst du die Methode zu verlassen und dieses Array als Rückgabewert zu verwenden. Was allerdings nicht funktionieren wird, da der Rückgabewert ja kein Array von JButtons ist, sondern ein einzelner JButton.

Beachte das das Array JButtons aufnehmen kann, dies in deinem Code aber noch nicht macht, da du erst mal nur ein leeres Array erzeugt hast.
 

Jiscona

Mitglied
Wenn ich es so mache:
Code:
  private JButton b_anweisung(int x, int y) {
    JButton b_anweisung[] = new JButton[100];
        for (int i = 0;i < 100;++i) {
        b_anweisung[i].setBounds(600, hoehe, 200, 60);
        b_anweisung[i].setMargin(new Insets(2, 2, 2, 2));
        b_anweisung[i] = new JButton();
      
        b_anweisung[i].addMouseMotionListener(new MouseAdapter() {
            @Override
            public void mouseDragged(MouseEvent e) {
                Rectangle bounds = b_anweisung[i].getBounds();
                bounds.x += e.getX();
                bounds.y +=  e.getY();
                b_anweisung[i].setBounds(bounds);
            }
        });
        
    }  // end of for
    
    }
Und dann:
Code:
cp.add(b_anweisung[zahl](100, 100));
Kommt als Fehlermeldung:
Code:
GUI2.java:133:39: error: ')' expected
              cp.add(b_anweisung[zahl](100, 100));
                                      ^
 
Zuletzt bearbeitet:

temi

Top Contributor
Und dann:
Code:
cp.add(b_anweisung[zahl](100, 100));
Kommt als Fehlermeldung:
Code:
GUI2.java:133:39: error: ')' expected
              cp.add(b_anweisung[zahl](100, 100));
                                      ^

Was ist denn "cp"?

Was willst du damit erreichen, bzw. was soll die (100,100) bewirken?

Wenn "cp" eine Liste von JButtons ist, der du einen JButton hinzufügen willst dann müsste der Befehl: cp.add(b_anweisung[zahl]); lauten.

Edit, als Ergänzung: Der Code der Methode b_anweisung() ist komplett wirkungslos, denn beim Array b_anweisung (Ich würde entweder die Methode oder die Variable anders benennen) handelt es sich um eine lokale Variable innerhalb der Methode, die am Ende der Methode ihre Gültigkeit verliert.

Edit2: Ah, ich glaube zu verstehen. Du willst in der add() Methode die Methode b_anweisung() aufrufen und nicht das Array b_anweisung verwenden (siehe Bemerkung zur Namensgebung!!!). Eine Methode hat keinen Index der Aufruf wäre beispielsweise b_anweisung(100,100);.

Edit3: Generell muss ich aufgrund deiner Fragen und Probleme leider sagen, dass du das mit der GUI Programmierung erst mal bleiben lassen solltest. Dir fehlen offensichtlich noch Grundlagen. Erarbeite dir diese Grundlagen erst mal nur auf der Konsole und mach dir dein Leben nicht unnötig schwer. Nur ein Tipp von mir...
 
Zuletzt bearbeitet:

Jiscona

Mitglied
Edit3: Generell muss ich aufgrund deiner Fragen und Probleme leider sagen, dass du das mit der GUI Programmierung erst mal bleiben lassen solltest. Dir fehlen offensichtlich noch Grundlagen. Erarbeite dir diese Grundlagen erst mal nur auf der Konsole und mach dir dein Leben nicht unnötig schwer. Nur ein Tipp von mir...
Alles klar, das werde ich mir zu Herzen nehmen. Aber ich glaube, dass der Fehler an meinem Unwissen über Methoden liegt. Trotzdem Danke für den Tipp.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Boolean Missing return Statement?! Java Basics - Anfänger-Themen 2
P Compiler-Fehler Boolean: Missing Return Statement Java Basics - Anfänger-Themen 4
I Methoden Missing return statement; Intervallschachtellung Java Basics - Anfänger-Themen 12
M missing return statement?! Java Basics - Anfänger-Themen 4
A Missing return-Statement Java Basics - Anfänger-Themen 9
T missing return statement Java Basics - Anfänger-Themen 36
E missing return statement Java Basics - Anfänger-Themen 6
C missing return statement Java Basics - Anfänger-Themen 5
dognose missing Return Statement Java Basics - Anfänger-Themen 4
G Missing return Statement Java Basics - Anfänger-Themen 2
R "missing return statement"? Java Basics - Anfänger-Themen 2
G missing return statement Java Basics - Anfänger-Themen 5
M missing return statement Java Basics - Anfänger-Themen 4
S Missing return Java Basics - Anfänger-Themen 4
Luk10 Return missing Java Basics - Anfänger-Themen 6
Syncopated Pandemonium Compiler-Fehler The constructor MP3File(File) refers to the missing type NoMPEGFramesException Java Basics - Anfänger-Themen 7
U Jar ist "missing" Java Basics - Anfänger-Themen 2
MiMa Java Doc mehrere Return Parameter Java Basics - Anfänger-Themen 11
A Return in While Schleife Java Basics - Anfänger-Themen 6
J Rekursive Funktion und return statement Java Basics - Anfänger-Themen 3
SUPERTJB return Problem Java Basics - Anfänger-Themen 3
M Warum return die Methode den Wert nicht Java Basics - Anfänger-Themen 5
S Methoden Return Rückgabewert wird nicht übergeben Java Basics - Anfänger-Themen 8
schredder Strings und reguläre Ausdrücke - Methode mit return string.matches Java Basics - Anfänger-Themen 5
I Return Array Java Basics - Anfänger-Themen 4
Q return Ausgabe Java Basics - Anfänger-Themen 4
javapingu Variablenwerte ändern ohne return Statement? Java Basics - Anfänger-Themen 7
C Ausgabe boolean return ((n==9)||(n==0)); Java Basics - Anfänger-Themen 13
G return 1 + methode Java Basics - Anfänger-Themen 4
H Methode mit Array als Rückgabe This method must return a result of Type int[] Java Basics - Anfänger-Themen 2
JD_1998 Hilfsmethode if return funktioniert nicht Java Basics - Anfänger-Themen 2
T Return einer anderen Methode herausfinden Java Basics - Anfänger-Themen 9
C ArrayList mit return zurückgeben Java Basics - Anfänger-Themen 13
M kann man return in nur einer Methode einsetzen? Java Basics - Anfänger-Themen 7
V return String[] führt zu [Ljava.lang.String;@50675690 Java Basics - Anfänger-Themen 7
K Return in Schleife Java Basics - Anfänger-Themen 4
B Statische Methode return funktioniert nicht. Java Basics - Anfänger-Themen 19
das_leon return message Java Basics - Anfänger-Themen 2
C return kann nicht auf variable zugreifen Java Basics - Anfänger-Themen 26
N Ausführung gibt keinen Fehler an, Return wird aber nicht ausgegeben Java Basics - Anfänger-Themen 22
R return: cannot find symbol Java Basics - Anfänger-Themen 2
R Ratespiel mit Return und einer Eingabe Java Basics - Anfänger-Themen 1
Z Return in While-Schleife Java Basics - Anfänger-Themen 7
N Frage zu this, super und return Java Basics - Anfänger-Themen 13
K ArrayList ausgeben mit return Java Basics - Anfänger-Themen 6
M Return statement Java Basics - Anfänger-Themen 4
J-Gallus Ein Getter bekommt eine anderen Type als er Return soll Java Basics - Anfänger-Themen 9
J Variablen Komsiche System.in.read() return-value? Java Basics - Anfänger-Themen 3
M Abbrechen Methode ohne return Java Basics - Anfänger-Themen 3
M Methoden Datei einlesen und als return übergeben. Java Basics - Anfänger-Themen 8
L OOP Return Java Basics - Anfänger-Themen 10
L Erste Schritte Frage zu 'return' Java Basics - Anfänger-Themen 4
J Methoden Rekursive Return Methode Java Basics - Anfänger-Themen 2
W Return statement in Methode nur bei if-clause Java Basics - Anfänger-Themen 3
D Methoden Return-Wert wird nicht ausgegeben Java Basics - Anfänger-Themen 3
F Return-Anweisung Java Basics - Anfänger-Themen 2
E Erste Schritte <? super Unterklasse> Return-Typ darf nicht vom Wildcard-Typ sein Java Basics - Anfänger-Themen 5
B OOP Methode mit Array mit return verlassen Java Basics - Anfänger-Themen 8
J Grundsätzliche Frage zu return Types in Methoden Java Basics - Anfänger-Themen 6
G return-wert für eine Methode Java Basics - Anfänger-Themen 1
B Methoden Probleme mit for Schleife und return Java Basics - Anfänger-Themen 5
Q Tastatureingabe direkt nach Eingabe (ohne zwischenzeitliches "Return" o.Ä ) weiterverwenden Java Basics - Anfänger-Themen 1
B Variablen Problem mit return String[] Java Basics - Anfänger-Themen 4
O Per return Run Methode beenden Java Basics - Anfänger-Themen 3
M Arrays als return Value? Java Basics - Anfänger-Themen 2
C Return statement Java Basics - Anfänger-Themen 10
Z Methoden return nullprüfung Java Basics - Anfänger-Themen 7
O Java return in Schleife Java Basics - Anfänger-Themen 4
K Was macht hier genau return? Java Basics - Anfänger-Themen 2
G Methoden Was bedeutet return in einer Methode Java Basics - Anfänger-Themen 5
Y Warum void statt Datentyp + return Java Basics - Anfänger-Themen 4
K Variablen RETURN in Case-Switch / This method must return a result of type Item Java Basics - Anfänger-Themen 4
K Erste Schritte "return" Problem bei Rekursion Java Basics - Anfänger-Themen 8
R If Verschachtelung und return; Java Basics - Anfänger-Themen 4
M Frage zum return; Befehl Java Basics - Anfänger-Themen 1
S try-catch - Variablen werden nicht an return übergeben Java Basics - Anfänger-Themen 3
C Einige Anfängerfragen (Return-Wert, Exception...) Java Basics - Anfänger-Themen 11
S Methoden Return Java Basics - Anfänger-Themen 8
T return-Wert verwenden? Java Basics - Anfänger-Themen 12
T Return eines Int-Werts? Java Basics - Anfänger-Themen 3
W return-Anweisung gibt nichts aus Java Basics - Anfänger-Themen 5
R Return in If Java Basics - Anfänger-Themen 10
S Methoden Return Anweisung beendet Methode nicht, stattdessen wird diese zweimal durchlaufen Java Basics - Anfänger-Themen 3
G array return methode Java Basics - Anfänger-Themen 10
L return wird nicht erkannt? Java Basics - Anfänger-Themen 3
J Regex mit Return Java Basics - Anfänger-Themen 3
M Variablen return-array klonen Java Basics - Anfänger-Themen 3
A Methode mit Array als Param --> return Array --> Fehler Java Basics - Anfänger-Themen 3
S Zeichen einlesen ohne Return? Java Basics - Anfänger-Themen 19
S probleme mit der return anweisung Java Basics - Anfänger-Themen 20
E Warum wird Methode nicht durch return-Befehl beendet? Java Basics - Anfänger-Themen 3
V Erste Schritte Return ohne Argument Java Basics - Anfänger-Themen 6
S Frage zu Vererbung und return. Java Basics - Anfänger-Themen 4
R return (mehrere floats) Java Basics - Anfänger-Themen 11
E Return String Java Basics - Anfänger-Themen 10
P Methoden Methode ohne return abbrechen? Java Basics - Anfänger-Themen 12
I Return Befehl in Methode Java Basics - Anfänger-Themen 13
M Problem mit boolean. Return nicht erkannt Java Basics - Anfänger-Themen 10
P Return aus For-Schleife Java Basics - Anfänger-Themen 19
S return in GUI ? Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben