Graph: countEdges - missing return statement

kdot
Neuling
Neuling
Beiträge: 8
Registriert: 2. Jun 2017 13:58

Graph: countEdges - missing return statement

Beitrag von kdot » 15. Sep 2017 12:42

Hallo zusammen!

Das ist mein Code zur Aufgabe "Graph: countEdges":

Code: Alles auswählen

public int countEdgesInConnectedGraph(Node<N, E> node)
{
    if (node==null) return -1;
    HashSet<Edge<>N,E> visitedEdges = new HashSet();
    HashSet<Node<>N,E> visitedNodes = new HashSet();
    countEdgesRec(node,visitedEdges,visitedNodes);
    return visitedEdges.size();
}
und

Code: Alles auswählen

private void countEdgesRec(Node<N, E> node, HashSet<Edge<N, E>> edgeSet, HashSet<Node<N, E>> nodeSet)
{
    ArrayList<Edge<N, E>> outEdges = node.getFanOut();
    if (nodeSet.contains(node)){
        return;
    }
    else{
        nodeSet.add(node);
    }
    for (Edge<N, E> e : outEdges){
        if (!edgeSet.contains(e)){
            edgeSet.add(e);
            countEdgesRec(e.getTargetNode(), edgeSet, nodeSet);
        }
    }
}
Ich bekomme aber den error missing return statement und verstehe nicht warum, für void brauche ich doch keinen return und bei der anderen Methode steht das return Statement doch ganz klar da.

Danke für eure Hilfe!

Zurück zu „Archiv“