Hallo Leute.
Also ich bin neu hier und hab sofort ein kleines Problem. Hab schon Google durchwühlt, aber nichts gefunden was mir weiterhilft (Vielleicht war ich auch einfach nur zu blöd!).
Na egal. Also wir nutzen bei uns in der Schule BlueJ und befassen uns zur Zeit mit ADTs.
Stack und Queue haben wir schon hinter uns und nun kommt Dictionary an die Reihe.
Unsere Aufgabe ist es so ein Dictionary-Ding zu programmieren und nun ja was soll ich sagen: Hab alles fertig bis auf die insert-Methode.
Ich habs soweit, dass der neue String richtig eingefügt wird und die nachfolgenden um eine Position nach hinten verschoben werden, aber der neue String überschreibt den direkt auf ihn folgenden (Der String wird also doppelt eingefügt). Wäre für jede Hilfe dankbar.
Ich bekomm es nämlich einfach nicht besser hin.
Hier mein Quelltext (Bitte nicht über die Einfachheit wundern...):
Alles anzeigen
Wäre echt super wenn mir jemand helfen könnte.
Also ich bin neu hier und hab sofort ein kleines Problem. Hab schon Google durchwühlt, aber nichts gefunden was mir weiterhilft (Vielleicht war ich auch einfach nur zu blöd!).
Na egal. Also wir nutzen bei uns in der Schule BlueJ und befassen uns zur Zeit mit ADTs.
Stack und Queue haben wir schon hinter uns und nun kommt Dictionary an die Reihe.
Unsere Aufgabe ist es so ein Dictionary-Ding zu programmieren und nun ja was soll ich sagen: Hab alles fertig bis auf die insert-Methode.
Ich habs soweit, dass der neue String richtig eingefügt wird und die nachfolgenden um eine Position nach hinten verschoben werden, aber der neue String überschreibt den direkt auf ihn folgenden (Der String wird also doppelt eingefügt). Wäre für jede Hilfe dankbar.
Ich bekomm es nämlich einfach nicht besser hin.
Hier mein Quelltext (Bitte nicht über die Einfachheit wundern...):
Quellcode
- public class Dictionary
- {
- String[] wörter;
- int max, anzahl;
- public Dictionary()
- {
- max = 100;
- wörter = new String[max];
- anzahl = 0;
- }
- public void insert(String x) //neuen String lexikalisch korrekt einfügen (von vorn herein)
- {
- int i = 0;
- int pos = 0;
- if (anzahl == 0)
- wörter[0] = x;
- else if (anzahl > 0 && anzahl < max)
- {
- while (x.compareToIgnoreCase(wörter[i]) > 1 && i < anzahl)
- {
- i++;
- pos = i + 2;
- }
- for (int b = anzahl + 1; b >= pos; b--)
- {
- wörter[b + 1] = wörter[b];
- wörter[pos] = x;
- }
- }
- anzahl++;
- show();
- }
- ...
- }
Wäre echt super wenn mir jemand helfen könnte.
Even Homer nods! But if you really want to f*ck up you'll need a computer!