Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Java Basics » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Seiten (2): [1] 2 nächste » Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Java Basics
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
learner33
unregistriert
Java Basics Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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 geschockt

Hoffe mir kann jemand helfen

Danke

learner33 hat diese Bilder (verkleinerte Versionen) angehängt:
x1.gif x2.gif

23.07.2017 22:50
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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:04 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
learner33
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich habe leider diese Aufgabe nur so als foto großes Grinsen

Wäre schön wenn du mir trotzdem versuchen könntest irgendwie zu helfen großes Grinsen
23.07.2017 23:06
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich hab mal Deine Arbeit gemacht und den Lücken-Quelltext abgetippt:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
import java.util.Comparator;
import java.util.Vector;

public class Sorter<T> {
    enum Mode {
        DESCENDING, ASCENDING
    }

    private boolean toBeSwapped(T a, T b, Comparator<T> comp, Mode mode) {
        boolean condition;
        switch (mode) {
            case ASCENDING:
                condition = __________;
                break;
            case DESCENDING:
                condition = __________;
                break;
            default:
                throw new IllegalStateException();
        }
        ____________;
    }

    public Vector<T> sort(Vector<T> list, Comparator<T> comp, Mode mode) {
        if(___________________________)
            return null;
        for(int a = 0; ; ) {
            for(int b = 0; ; ) {
                if(compare( , , comp, mode)) {
                    _______________;
                }
            }
        }
    }

}


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.
23.07.2017 23:42 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
learner33
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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 09:56
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Für die auf-/absteigende Reihenfolge könnte man vielleicht auch die Methode reversed() der Comparator-Klasse verwenden, denke ich.
24.07.2017 10:08 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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:26 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
learner33
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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 großes Grinsen

code:
1:
2:
3:
4:
5:
6:
public Vector<T> sort(Vector<T> list, Comparator<T> comp, Mode mode) {
        if(______a==b || a<0|| b<0;_____________________)
            return null;

24.07.2017 10:41
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Du darfst nicht a oder b mit 0 vergleichen, sondern den Rückgabewert von comp.compare(a, b).
24.07.2017 13:40 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
learner33
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
1:
2:
3:
4:
5:
6:
public Vector<T> sort(Vector<T> list, Comparator<T> comp, Mode mode) {
        if(____comp.compare(a)_==_comp.compare(a, b)||__comp.compare(a)_<0 || ___comp.compare( b)_<0_____________)
            return null;



Jetzt besser ?
24.07.2017 23:18
learner33
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
1:
2:
3:
4:
5:
6:
7:

public Vector<T> sort(Vector<T> list, Comparator<T> comp, Mode mode) {
        if(____comp.compare(a)_==_comp.compare( b)||__comp.compare(a)_<0 || ___comp.compare( b)_<0_____________)
            return null;



So besser ?
24.07.2017 23:19
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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:22 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
learner33
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Bei gleichen Werten müsste nicht sortiert werden .

Bei kleineren oder grösseren Werten schon ?

code:
1:
2:
3:
4:
5:
6:
7:
public Vector<T> sort(Vector<T> list, Comparator<T> comp, Mode mode) {
        if(____comp.compare(a,b)_<_comp.compare( a,b)||__comp.compare(a,b)_>___comp.compare( a,b)___________)
            return null;




Bin mir nicht so sicher ob das so funktionieren kann großes Grinsen
25.07.2017 00:26
learner33
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Nein blödsinn .

Es soll ja return zurück gegeben werden.

Also:

code:
1:
2:
3:
4:
5:
6:

public Vector<T> sort(Vector<T> list, Comparator<T> comp, Mode mode) {
        if(____comp.compare(a,b)_==_comp.compare( a,b)________)
            return null;


Jetzt ok?
25.07.2017 00:28
Seiten (2): [1] 2 nächste » Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Java Basics