Frage von DrSkyfallAsks, 97

Wie ist das mit einem Array in Java als Boolean zu nutzen?

Ich fase mich mal Kurz. Ich soll in Informatik ein CDRegal programmieren woman für String array werte einen Text hinterlegt. Ich arbeite jetzt an einer methode mit der ich eine cd hinzufuegen kann, jedoch hänge ich da fest.

public void cd(string cdname){ for(int i=1; i<=sammlung.length;i++){ if(sammlung[i]=="null"){ sammlung[i]=cdname; }}}

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Zuck3r, 62

Wenn du eine CD als String hast, benutz nen Set. Kein Boolean Array das ist fieser Verwaltungsaufwand.

Set<String> cds = new HashSet<>();

boolean cdKnown = cds.contains("myCd");

cds.add("newCD");
cds.remove("removeCD");

mit contains testest du ob die CD vorhanden ist, add fügt eine CD in das set hinzu, remove entfernt sie.

Einzige Limitierung ist, dass du eine CD nur haben oder nicht haben kannst. 2mal ist so nicht möglich.

Wenn du eine CD auch n-mal haben können sollst, dann musst du auf ne HashMap ausweichen :)

Kommentar von DrSkyfallAsks ,

Danke

Kommentar von Zuck3r ,

Sehe nichts :)

Kommentar von DrSkyfallAsks ,

Hab den beitrag überarbeitet und muss noch freigeschaltet werden Hab jetzt mal nen link zur klasse gepostet.

Kommentar von DrSkyfallAsks ,

Das problem ist der boolean sammlung[i]=="null"

Kommentar von Zuck3r ,

ich schreib dir da mal nen paar kommentare rein ;D

Kommentar von Zuck3r ,

kannst du das dokument freigeben? kann das leider nicht wieder da rein kopieren.

Kommentar von Zuck3r ,
Kommentar von DrSkyfallAsks ,

Es funktioniert jetzt alles wie es sollte. Danke!

Kommentar von DrSkyfallAsks ,

Kann man den boolean auch umkehren so dass er nur ausgeführt wenn sammlung[i] nicht gleich nulll ist

Kommentar von Zuck3r ,

Natürlich. 

sammlung[i] != null

Hatte ich an einigen Stellen im Code aber auch schonmal gemacht. Solltest den vielleicht mal komplett durchlesen ;)

Kommentar von DrSkyfallAsks ,

Habe dir auf google docs ne anfrage inkl problemstellung geschickt

Kommentar von Zuck3r ,

sehe da nichts :)

Kommentar von DrSkyfallAsks ,

Seltsam. Hast du die anfrage bekommen und angenommen?

Du kannst es auch für die email theskyfalllp@gmail.com freigeben

Kommentar von Zuck3r ,

hab nicht wirklich irgendwas bekommen. benutze das aber auch eigentlich nie. daher kann es sein dass ich einfach nur keine Ahnung hab wo die Anfrage steht :D

Kommentar von DrSkyfallAsks ,

Hab noch ein Problem :o Guck mal bitte da rein

Kommentar von DrSkyfallAsks ,

hat sich erledigt

Kommentar von DrSkyfallAsks ,

Habs hingekriegt

Antwort
von okarin, 33

Auf die Art und weiße wirst du deine gesamte Sammlung mit einer cd füllen du musst die for abbrechen wenn eine cd gefunden wurde. Weiß leider nicht wie des in Java geht evtl. mit Break; notfalls i halt auf die Länge von Sammlung setzen.
Außerdem solltest du i am Anfang auf 0 setzen du beginnst bei arrays immer bei 0.

Kommentar von DrSkyfallAsks ,

funktioniert bereits, trotzdem danke!

Kommentar von Zuck3r ,

Ist richtig. Das komplette Array wird so auf den Wert der CD gesetzt. Aber auch nur dann, wenn es leer ist. Bzw nur leer Felder.

Keine passende Antwort gefunden?

Fragen Sie die Community