Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich habe eine Klasse k mit ein paar Variablen v1, v2, ..., vn. Alle können durch eine get-Funktion aufgerufen werden und alle werden in der toString der Klasse verwendet:
der Rückgabewert sieht circa so aus "v1="+v1+";v2="+v2+";..."+vn. In der Comparefunktion nehme ich jetzt :
Java:
public int compare(klasse b){
return this.toString().trim().compareToIgnoreCase(b.toString().trim());
}
Da ich nicht sagen kann bei welcher der Variabeln der Unterschied entsteht habe ich eine Array-Compare-Funktion:
Java:
public int[] compareArray(klasse b){
int v1i=this.v1.trim().compareToIgnoreCase(b.getV1().trim());
int v2i=this.v2.trim().compareToIgnoreCase(b.getV2().trim());
...
int vni=this.vn.trim().compareToIgnoreCase(b.getVn().trim());
int r[]={v1i, v2i, ..., vni}; //ja n ist klein genug, dass sich das so aus geht
return r;
}
Ich habe mehrere Test habe gemacht und entdeckt, dass ein gewisser Wert von dem Array den gleichen Wert hat wie die String-Compare-Funktion hat, allerdings nicht immer der gleiche (auch wenn es oft bei Index 1 war). Ich nehme an das hängt damit zusammen bei welcher Variable zuerst ein Unterschied vorhanden ist. Gibt es eine Möglichkeit zusagen welcher Wert im Array den Wert des Stringvergleiches gleicht und den Stringvergleich so zu gestalten um Rückschlüsse auf die unterschiedlichen Variablen möglich sind? Auch in Blick auf eine Sortierfunktion wie tue ich da am besten?
Also was du jetzt machen solltest ist: Mehr Code zu posten!
Konkret deine Klasse und Situation erklären.
Aber wenn du das nicht willst, gibt es in der Statistik einige Algorithmen, die dir eine Korrelation bescheinigen können und auch sagen, wie sie zusammenhängen.
Also was du jetzt machen solltest ist: Mehr Code zu posten!
Konkret deine Klasse und Situation erklären.
Aber wenn du das nicht willst, gibt es in der Statistik einige Algorithmen, die dir eine Korrelation bescheinigen können und auch sagen, wie sie zusammenhängen.
In dem Fall ist es ein typisches Programmieranfängerproblem: Adressverwaltung (Variablen: Vorname, Nachname, Strasse, PLZ und Ort alles private Strings - mit GET und SET Funktionen). Aber meine Frage war allgemein gefasst, weil sich das Konzept auf jede Klasse die ich mir denken kann umlegbar ist, hier wäre es sogar egal welcher Art die Variablen sind, die kann ich vergleichen. Um es kurz zu machen ich möchte der Sortierfunktion ein Order By v1, v2, ... vn hinzufügen. Code für die Sortierfunktion habe ich und mit Zahlen funktioniert das auch gut, einem Array von Strings plus minus auch da ich durch die Compare-Funktion weiß welcher alphabetisch zuerst kommt, aber wie ich weiß nicht wie ich bei einen mehrdimensionalen Array sortiere.
Ganz habe ich dich immer noch nicht verstanden ? Du suchst nach einem Algorithmus wie du mehrdimensionale Arrays sortierst oder was ? Was währe denn bei deiner Adressverwaltung das mehrdimensionale Array ? n Vornamen, n Nachnahmen n Strassen usw. ?? Sind das deine n Strings aus dem Codestück oben ? Und du willst jetzt wissen wann du sagst eine Zeile dieses "Arrays" ist grösser, kleiner oder gleich der anderen ?
Ganz habe ich dich immer noch nicht verstanden ? Du suchst nach einem Algorithmus wie du mehrdimensionale Arrays sortierst oder was ? Was währe denn bei deiner Adressverwaltung das mehrdimensionale Array ? n Vornamen, n Nachnahmen n Strassen usw. ?? Sind das deine n Strings aus dem Codestück oben ? Und du willst jetzt wissen wann du sagst eine Zeile dieses "Arrays" ist grösser, kleiner oder gleich der anderen ?
Genau ich möchte meine Adressen alaphetisch sortieren nach Nachname, Vorname, Straße, PLZ und Ort (als Defaulteinstellung ich möchte wie das jede Excle Tabelle kann nicht festlegen wie sortiert wird kann auch Vorname, Strasse, PLZ, Nachname und Ort sein wenn jemand mag) - wäre ein 2 Dimmensionaller Array wo die einzelnen Arrays je 5 Werte haben. Im Grunde so etwas:
Java:
public function sort2DArray(ArrayElements[][] array, int[] afterIndex){
/* hier bräuchte ich einen Algorithmus der die Arrays von array nach den Indexen sortiert,
so wie sie in afterIndex festgelegt werden*/
}