H IL F E! Informatik Bugđ€Ż!?
Java
habe eine klasse PriorityQueue. Diese speichert Objekte der Klasse QueueInhalt in einem Array namens queueinhalte. Die QueueInhalte - Objekte wiederrum speichern jeweils einen Verweis auf ein ein Objekt der Klasse ContentTypePerson.
Der Code der Klasse QueueInhalt ist kurz:
Das hier ist die add - Methode aus der PriorityQueue, jedenfalls der Teil fĂŒr den Fall, wenn die PrioritĂ€t des ContentTypePerson - Objektes (, wleches ja widerrum in einem QueueInhalt - Objekt gespeichert ist,) gröĂer als Die des im Array am vordersten gelegenen Elements ist.
Es gibt auch noch eine Methode in der Klasse PriorityQueue, um den ArrayInhalt und so auszugeben (ich glaube, da liegt der folgende Fehler aber nicht):
Jetzt kommts: Ich habe ein Array der GröĂe 2 erstellt, ein Objekt ContentTypePerson mit dem Namen "A" erstellt und ihm beim Aufrufen der add Methode die PrioritĂ€t 3 gegeben.
Beim Aufrufen der Methode gibInhalteDesArraysAus() kommt dann ensprechend:
Dann adde ich noch ein ContentTypePersonPerson - Objekt namens "B", diesmal mit der PrioritĂ€t 4, damit der oben gezeigte Teil der add - Methode ausgefĂŒhrt wird.
Doch dann wird ausgegegeben:
anstatt:
Inhalte: QueueInhalt@d54b68 (Name: B PrioritÀt: 44) | QueueInhalt @17e26a8 (Name: A PrioritÀt: 43)
HILFE! Wo ist der Bug? Ich sitze schon seit zwei Stunden hier fest! Sorry fĂŒr so viele Bilder Code, ich bin mir nicht sicher in welchem Codeteil der Fehler liegen könnte
Echt, wer mir weiterhelfen könnte, verdient 1200000 Danke und Hilfreich
2 Antworten
Bitte Codes als CodeBlock posten, nicht als Bild, danke.
Was soll das sein?
Queue[0] = 1
Queue[1] = 2
Queue[2] = LEER
Queue[1] tust du in Queue[2]
Queue[2] tust du in Queue[1]
Warum? Es soll doch aufrĂŒcken und so habe ich dir das bei der Frage davor auch nicht beschrieben âŠ
Und dein Code ist unsauber. Das Abschreiben aus dem Bild ist damit sehr schwer, weil man immer die Stelle finden muss:
Also ich glaube da liegt ein Fehler. Schau dir das nochmal an und mach es so, wie ich es gesagt hatte im Beitrag zuvor ⊠So wie ich das sehe, tauscht du nĂ€mlich nur Wert 2 und 3 zum Beispiel miteinander, anstatt dass die aufrĂŒcken đ€
Und bitte kein Ă€Ă¶ĂŒ schreiben, wenn du schon deutsch unterwegs bist, was man eigentlich nicht tut.
for (int i = arraylaengeminuseins - 1; i < 0; i--)
Wird niemals funktionieren.
arraylaengeminuseins ist 3 und minus eins ist 2. Somit ergibt i < 0 niemals true und die Schleife lĂ€uft nicht und wird ĂŒbersprungen
Das war ein Danke, aber ich bekomme doch 1200000 dachte ich? đźđ
Das geht leider nicht. Wenn ich so weit bin könnte ich mehrere GF Accounts automatisch erstellen lassen und dir ein Danke und Hilfreich geben lassen.
for (int i=/*positiver Wert*/; i<0; ...
Diese Schleife wird nie durchlaufen.
Muss dann i > 0? (Entschuldigung, bin ganz blöd, hab den ganzen Tag schon Informatik gemacht)
Frage gelöst, Danke fĂŒr die Antwortđ
Jetzt funktionierts:
i >= 0
"Bitte Codes als CodeBlock posten, nicht als Bild, danke."
Versprochen. Tut mir leid.
"Und dein Code ist unsauber."
Mache ich auch noch sauberer.
.- Dankeđ FĂŒr die Antwort und fĂŒr die Hinweise