Auf Thema antworten

Also mal 2 kleine Brocken aus deinem ersten code:


[code=Java]


MovieLister mlist = new MovieLister();

   

Movie[] film = mlist.moviesDirectedBy(regisseur);

[/code]


wenn ich mich richtig zurückerinnere ist das hier schon irgendwie eine komische Sache. Du erstellst ein neues Objekt vom Typ MovieLister . Etwas später erstellst du ein Array vom Typ Movie und statt dieses Array zu instanziieren und mit dem Inhalt deiner Abfrage zu befüllen weist du der film-Variablen lediglich eine Referenz zu.


mlist.moviesDirectedBy(regisseur) gibt ja bereits ein Array zurück. Daher kannst du bereits dieses Array (also den Rückgabewert der Methode) nach seiner Grösse abfragen :


[code=Java]

if (mlist.moviesDirectedBy(regisseur).length > 0)

{

 .....

}

[/code]


Noch ne kleine Anmerkung : Zeile 20 -->[c] int i = 0;[/c] paar Zeilen weiter benutzt du das i und weist erneut 0 zu --> [c] for (i = 0 ;.... )[/c]. doppelt gemoppelt ;) Besser und sicherer ist es wenn du i nur im Schleifenkopf deklarierst/definierst da die Variable dann auch nur da sichtbar ist und die Gefahr eines Überschreibens etc nicht besteht.

Und noch eine Anmerkung : Bei Stringvergleichen (equals) ist es besser (ausser es kommt wirklich 100% auf die Schreibweise als Ergebnis an) equalsIgnoreCase(...) zu benutzen, sonst kommt öfter mal ein false zurück weil die Schreibweise nicht exakt war mit dem verglichenem String.



Oben