Soziales Netzwerk Rekursion

Assertion Error im Rekursions-Check

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Soziales Netzwerk Rekursion
Guten Abend,

Ich habe die Methode “istErreichbar” weitestgehend zum laufen gebracht. Allerdings habe Ich anscheinend die Rekursion falsch implementiert, da mir der Rekursions-Check eine Fehlermeldung ausgibt:

java.lang.AssertionError: 2) checking value returned by istErreichbar( 67, 19, d = 5 ):

Ich habe mir bereits die anderen Forenbeiträge dazu angesehen, bin daraus allerdings leider nicht schlau geworden. Ich bitte darum nicht einfach besagte Beiträge zu verlinken, sondern das Problem, bzw den Fehler zu erklären.

Soll man in der Methode aufzeichnen welche Personen man bereits “berechnet” hat und diese dann im Anschluss bei anderen möglichen Personen im Vornherein ausschließen ? Falls ja, wie implementiere Ich das effizient?

Ich bin für alle Lösungsvorschläge extrem dankbar, ansonsten noch einen schönen Abend :slight_smile:


Du hast ja die anderen Threads schon durchgeschaut, ich hatte den Fehler allerdings auch bis ich meinen rekursiven Aufruf in eine if-Bedingung gesteckt habe. Falls du das noch nicht gemacht hast, wäre das vermutlich die erste Option, die du dir anschauen solltest.
Des Weiteren schaue ich mir die Nutzer an, die mit der ersten ID (die zweite geht sicher auch) befreundet sind…
Ich hoffe, das hilft vielleicht ein bisschen.


Danke für die Antwort :slight_smile:

Ich sehe mir alle freunde von id0 an und schaue unter deren Freunden ob diese mit id1 befreundet sind usw. so lange bis entweder e null wird, oder die aktualisierte id0 schließlich mit id1 befreundet ist, was ja heißt, dass die ursprüngliche id1 über 0-e viele Freunde mit id1 befreundet ist. Ich habe jetzt noch ein wenig rumprobiert und stoße auf folgende Fehlermeldung:

java.lang.AssertionError: 1) checking value returned by istErreichbar( 67, 15, d = 0 ):

Die Methode an sich funktioniert fehlerfrei, es ist immernoch die Rekursion, die anscheinend nicht passt :confused:

Freue mich sehr über weitere Tipps, danke im Voraus…


Bin leider genauso ratlos wie du. Bei mir genau das Gleiche nur mit folgendem Fehlercode:

java.lang.AssertionError: 1) checking value returned by istErreichbar( 560, 48, d = 6 )

Hab bereits alle Tipps im Forum versucht umzusetzen. Leider ohne Erfolg :-/