Java Basics |
23.07.2017, 22:50 | Auf diesen Beitrag antworten » | |||||
learner33 | Java Basics Hallo alle zusammen kann mir jemand erklären wie ich bei der Aufgabe die ersten Lücken auffüllen kann ? Ich habe grosse Probleme mit java Hoffe mir kann jemand helfen Danke |
|||||
|
||||||
23.07.2017, 23:04 | Auf diesen Beitrag antworten » | |||||
as_string | Also... So kann man das ja alles wirklich sehr schlecht erkennen! Kannst Du die Blätter nicht wenigstens flach hinlegen und die Bilder von senkrecht oben machen? Außerdem kannst Du das Lücken-Programm soweit ja schon mal abtippen. Dann könntest Du auch den Quelltext direkt schicken. So motiviert das nicht sonderlich, Dir zu helfen, wenn ich ehrlich bin... Gruß Marco |
|||||
23.07.2017, 23:06 | Auf diesen Beitrag antworten » | |||||
learner33 | Ich habe leider diese Aufgabe nur so als foto Wäre schön wenn du mir trotzdem versuchen könntest irgendwie zu helfen |
|||||
23.07.2017, 23:42 | Auf diesen Beitrag antworten » | |||||
as_string | Ich hab mal Deine Arbeit gemacht und den Lücken-Quelltext abgetippt:
Ich kann erst morgen Abend wieder weiter machen allerdings... Muss ins Bett. Gruß Marco PS: Ich habe den Eindruck, dass da ein Fehler in der Aufgabe ist. Unten wird die Funktion "compare()" aufgerufen, aber anscheinend ist die oben definierte Funktion namens toBeSwapped() gemeint. |
|||||
Anzeige | ||||||
|
||||||
24.07.2017, 09:56 | Auf diesen Beitrag antworten » | |||||
as_string | Also... zur a): Da soll ja die toBeSwapped() Methode fertig implementiert werden. Schau Dir dazu mal an, wie das mit der Comparator<T>-Klasse so funktioniert. Die hat ja eine Funktion int compare(T a, T b); Was bedeutet der Rückgabewert dieser Funktion und was könnte man damit anfangen? In der Doku findest Du antworten. Gruß Marco |
|||||
24.07.2017, 09:56 | Auf diesen Beitrag antworten » | |||||
learner33 | Weisst du was ich beim switch case nach der Lücke conditon = ..... schreiben soll ? Woher soll ich drauf kommen was da rein kommt ? In der Aufgabe ist nichts näheres erläutert ? |
|||||
24.07.2017, 10:08 | Auf diesen Beitrag antworten » | |||||
as_string | Für die auf-/absteigende Reihenfolge könnte man vielleicht auch die Methode reversed() der Comparator-Klasse verwenden, denke ich. |
|||||
24.07.2017, 10:26 | Auf diesen Beitrag antworten » | |||||
as_string | Also, ich finde das auch ziemlich überflüssig, ehrlich gesagt... Aber: "condition" ist eine boolsche Variable. Die kann also nur "true" oder "false" zugewiesen bekommen. Vergiss das erstmal. Das brauchst Du erst, wenn Du das unten drunter implementiert hast. Gruß Marco |
|||||
24.07.2017, 10:41 | Auf diesen Beitrag antworten » | |||||
learner33 | In der Doku steht ja das : Comparators can also be used to control the order of certain data structures (such as sorted sets or sorted maps), or to provide an ordering for collections of objects that don't have a natural ordering. Also um irgendwie was zu sortieren usw wird der Comparator benutzt. Ok ich fange mal unten an wie du gesagt hast . null würde eher ja denke ich dann ausgeben wenn a==b ist oder ? Weil sobald etwas kleiner oder grösser ist , muss er ja sortieren
|
|||||
24.07.2017, 13:40 | Auf diesen Beitrag antworten » | |||||
as_string | Du darfst nicht a oder b mit 0 vergleichen, sondern den Rückgabewert von comp.compare(a, b). |
|||||
24.07.2017, 23:18 | Auf diesen Beitrag antworten » | |||||
learner33 |
Jetzt besser ? |
|||||
24.07.2017, 23:19 | Auf diesen Beitrag antworten » | |||||
learner33 |
So besser ? |
|||||
25.07.2017, 00:22 | Auf diesen Beitrag antworten » | |||||
as_string | Nein, das compare hat immer zwei Argumente, also muss a und b übergeben werden. Compare hat drei verschiedene Rückgabewerte. Entweder -1, 0 oder +1. Welcher Wert steht für was? Angenommen wir wollen aufsteigend sortieren. Bei welchen Werten von compare wäre die Reihenfolge schon in Ordnung und es müsste nicht umsortiert werden, bei welchen müsste umsortiert werden? Gruß Marco |
|||||
25.07.2017, 00:26 | Auf diesen Beitrag antworten » | |||||
learner33 | Bei gleichen Werten müsste nicht sortiert werden . Bei kleineren oder grösseren Werten schon ?
Bin mir nicht so sicher ob das so funktionieren kann |
|||||
25.07.2017, 00:28 | Auf diesen Beitrag antworten » | |||||
learner33 | Nein blödsinn . Es soll ja return zurück gegeben werden. Also:
Jetzt ok? |
|||||
25.07.2017, 00:34 | Auf diesen Beitrag antworten » | |||||
learner33 | Und den letzten Teil würde ich so machen:
Würde das auch in etwa so gehen? |
|||||
25.07.2017, 10:51 | Auf diesen Beitrag antworten » | |||||
as_string | Du rätst wild rum! Erstmal meinte ich eine ganz andere Lücke, als ich von "weiter unten" gesprochen hatte: Ich bin immer noch innerhalb der Methode "toBeSwapped()" und nicht in sort(). Dort ist ganz am Ende noch eine Lücke und da musst Du auch die comp.compare(a, b) richtig verwenden! Das if am Anfang der "sort()" Methode, an dem Du die ganze Zeit rumbastelst, gehört zu der b). Da soll, wie in der Aufgabe steht, alle mögliche auf "null" überprüft werden und die Größe der der "list" >0. Dazu machst Du ja aber kein compare()! Beantworte doch erstmal meine Frage: Du rufst ein comp.compare(a, b) für zwei Elemente auf und sollst sagen, ob die schon in der richtigen Reihenfolge sind und deshalb kein Swap nötig ist (also Rückgabewert von toBeSwapped() soll dann false sein), oder ob sie verkehrt herum ist und deshalb getauscht werden soll. Wie kannst Du das an dem Rückgabewert von comp.compare(a, b) ablesen? Gruß Marco |
|||||
25.07.2017, 14:01 | Auf diesen Beitrag antworten » | |||||
learner33 | Ich müsste a und b vergleichen oder ? |
|||||
25.07.2017, 14:27 | Auf diesen Beitrag antworten » | |||||
as_string | a und b können jetzt aber von einem beliebigen Typ T sein. Du kannst die nicht einfach mit einem "<" oder ">" oder "==" vergleichen. Dafür gibt es aber den Comparator<T>, der genau diesen Vergleich passend für T implementiert. Deshalb bekommst Du ja so einen Comparator (in Form von "comp") rein gereicht und musst den verwenden, um feststellen zu können, was größer/kleiner ist oder ob sie gleich sind. Was ist jeweils die Rückgabe von der compare() Methode der Comparator-Klasse? Gruß Marco |
|||||
25.07.2017, 15:17 | Auf diesen Beitrag antworten » | |||||
learner33 | In der Aufgabe steht das Ergebnis des Vergleich als Rückgabewert der Methode. Puuh irgendwie sehr schwierig für mich |
|||||
25.07.2017, 21:12 | Auf diesen Beitrag antworten » | |||||
learner33 | Noch tipps ? Muss das wenigstens noch vor der Klausur verstehen |
|||||
26.07.2017, 09:18 | Auf diesen Beitrag antworten » | |||||
learner33 | Wäre schön wenn du mir erklären könntest wie ich die Lücken ausfüllen kann, damit ich es noch bisschen versuchen kann zu verstehen. Abgeben muss ich die Aufgabe sowieso nicht |
|
Verwandte Themen
Die Beliebtesten » |
Die Größten » |
|
Die Neuesten » |
|