PCfreak Geschrieben 15. Dezember 2004 Geschrieben 15. Dezember 2004 vorhanden ist: Bin momentan bis hier: public static boolean subList(ListT list, ListT sublist) { IteratorT p1 = list.getIterator(); IteratorT p2 = sublist.getIterator(); p2.first(); while (p1.hasMore() && p2.hasMore()) { if (list.retrieve(p1).equals(sublist.retrieve(p2))) { p1.next(); p2.next(); } else { return false; }// end if }// end while return true; }// end subList Jaraz: code tags repariert Was ist flasch an meiner Überlegung? Vielen dank. Zitieren
kLeiner_HobBes Geschrieben 15. Dezember 2004 Geschrieben 15. Dezember 2004 Ehrlich gesagt war es nicht so einfach, deinen Code zu lesen, als Anregung: Ich würde nicht jede Zeile in Code-Tags setzen. So, wie ich es jetzt verstanden habe, überprüfst du, ob list und sublist genau gleich sind, aber nicht, ob sublist nur beinhaltet wird. Ich würde das ungefähr so machen (bin kein Java-Programmierer): p1.first(); p2.first(); while (p1.hasMore()) if (list.retreive(p1).equals(sublist.retreive(p2))) { while (list.retreive(p1).equals(sublist.retreive(p2)) && p1.hasMore() && p2.hasMore() ) { p1.next(); p2.next(); if (!p1.hasMore() ) return true; } p2.first(); } else p1.next(); return false; Ungetestet!! Zitieren
PCfreak Geschrieben 15. Dezember 2004 Autor Geschrieben 15. Dezember 2004 Hallo... erstmal vielen Dank für dein Antwort...vielleicht sollte ich das ganze noch weiter ausführen: Ich geben in die Liste list 6 Elemente (Integer-Werte ein) und in die Liste sublist nur 4. jetzt soll geschaute werden ob die sublist in der list vollständig und zusammenhängend vorkommt. Bsp.: list <1,2,3,4,5,6> sublist <3,4,5,6> da muss jetzt true rauskommen. Zitieren
kLeiner_HobBes Geschrieben 15. Dezember 2004 Geschrieben 15. Dezember 2004 Einen Fehler hab ich bei mir gefunden: Es soll heißen: if (!p2.hasMore() ) return true; Und Testen kann ichs net, hab leider kein Java hier in der Firma. Zitieren
mkScheller Geschrieben 20. Dezember 2004 Geschrieben 20. Dezember 2004 Der Fehler liegt wohl daran: } else { return false; }// end if weil damit die Methode beendet wird, durch return wird eine Methode immer beendet. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.