removeEdge: error: missing return statement

Bei Postings zu Aufgabe Nr. x = 1..4 lassen Sie Ihr Betreff bitte mit "x: " beginnen, gefolgt von einer möglichst präzisen Überschrift, danke!

Moderator: Algorithmen und Datenstrukturen

Forumsregeln
Bei Postings zu Aufgabe Nr. x = 1..4 lassen Sie Ihr Betreff bitte mit "x: " beginnen, gefolgt von einer möglichst präzisen Überschrift, danke!
LukasPhysiker
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 111
Registriert: 6. Mai 2017 13:05

removeEdge: error: missing return statement

Beitrag von LukasPhysiker »

In der removeEdge-Aufgabe habe ich folgenden Code geschrieben:

Code: Alles auswählen

{
    ArrayList<Edge<N,E>> edges = getEdgeList();
    if(edges.contains(edge))
    {
        if(edge.hasLinkedEdge())
        {
            edge.getLinkedEdge().removeFromNodes();
            edges.remove(edge.getLinkedEdge());
        }
        edge.removeFromNodes();
        edges.remove(edge);
        return true;
    }
    return false;
}
Der Server weigert sich aber, das zu kompilieren. Ich bekomme die Fehlermeldung:

Code: Alles auswählen

Compilerreport

    Consoleline 0 – /home/tomcat/tomcat/exercise/ebc1db02-b126-45c7-aecf-45c8723ee07b/tmp/graph/util/DirectedGraph.java:109: error: missing return statement

    Consoleline 1 – }

    Consoleline 2 – ^

    Consoleline 3 – Note: Some input files use unchecked or unsafe operations.

    Consoleline 4 – Note: Recompile with -Xlint:unchecked for details.

    Consoleline 5 – 1 error
Angeblich fehlt also das return-Statement. Das ist aber offensichtlich da! Um andere Fehlerquellen auszuschließen, habe ich mal folgenden Code ausprobiert:

Code: Alles auswählen

{
    return false;
}
Und der Fehler ist immer noch da! Das ist ja wohl eindeutig ein Fehler. Kann das bitte möglichst bald gefixt werden?

kommiker
Mausschubser
Mausschubser
Beiträge: 51
Registriert: 24. Apr 2017 19:25

Re: removeEdge: error: missing return statement

Beitrag von kommiker »

Hallo Lukas,

kann es sein das du nur eine Methode implementiert hast? Im Aufgabenpaket removeEdge sind ja zwei Methoden zu implementieren. Wenn du für bei Code geschrieben hast und auch bei beiden gesondert auf auswerten geklickt hast, funktionierts :)
Habe die Methode bei mir Implementiert und es funktioniert auch.

lg kommiker

LukasPhysiker
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 111
Registriert: 6. Mai 2017 13:05

Re: removeEdge: error: missing return statement

Beitrag von LukasPhysiker »

Hallo kommiker,

danke für den Hinweis! Jetzt komme ich mir etwas dämlich vor...

Wobei der Fehler beim ersten Kompilieren einer Methode trotzdem nochmal auftrat. Erst nachdem mal beide Methoden mindestens einmal aufgerufen hat, funktioniert es. Bei solchen vollkommen unabhängigen Methoden sollten diese aber meiner Meinung nach auch unabhängige Tests haben, damit so etwas nicht passieren kann.

Julian Prommer
Moderator
Moderator
Beiträge: 167
Registriert: 17. Apr 2013 15:48

Re: removeEdge: error: missing return statement

Beitrag von Julian Prommer »

Anmerkung für ein paar getrennte Tests weitergeleietet...
AuD Orga

Antworten

Zurück zu „AuD: Programmieraufgaben“