Habe versucht es mit dem 2D Array zu machen nur habe ich dann nach ein bisschen Googlen erfahren das man String,int und double nicht so leicht in ein Array rein bekommt.
Habe dann auch wo gesehen das jemand String und int in einem Array hatte allerdings habe ich da zum größten Teil nur Bahnhof verstanden da ich mich mit Java noch nicht so gut auskenne.
Eine Möglichkeit wäre, nicht dein Array zu sortieren, sondern deren Indizes. Heißt du legst dir ein neues Array an (Integer[]) von [0, temperatur.size]. Dann schreib dir einen Comparator, der dir dann mit dem Zugriff des Index auf Temperaturen sortiert.
Javinner, da hast du recht, ich bin grade noch dabei Java zu lernen und soweit bin ich dann doch noch nicht.
wir sollen im Unterricht ein wetter Diagramm machen mit Eingabe der werte, ausgebe der werte etc und dann sollen die werte auch noch sortiert werden nur möchte ich nicht nur stumpf die Temperaturen sortieren sondern das auch noch zu den sortierten Temperaturen auch die passenden Monate dabei stehen.
habe grade n bissel probiert evt. alles als String zu machen in einem Array.
String[] str = new String[12];
str[0] = "Jan " + "0.7 °C " + "69 mm";
str[1] = "Feb " + "2.1 °C " + "59 mm";
....
könnte man da auch irwie nach der 2. "Zeile" sortieren lassen, momentan sortiert der ja die Monate alphabetisch aber ich möchte ja gerne nach der Temperatur sortiert haben und möchte das nicht immer umschreiben müssen wenn ich das dann nach Niederschlagswert sortieren möchte.
Eine Möglichkeit wäre, nicht dein Array zu sortieren, sondern deren Indizes. Heißt du legst dir ein neues Array an (Integer[]) von [0, temperatur.size]. Dann schreib dir einen Comparator, der dir dann mit dem Zugriff des Index auf Temperaturen sortiert.
eigentlich sind wir grade dabei eigene Methoden zu benutzen bzw den Umgang mit diesen zu lernen, doch ich glaube das nichts gegen dagegen spricht wenn ich auch noch mehrere Klassen verwende
Interface Comparable<T>
Letztendlich bietet das Interface nur eine Methode: compareTo(T o) Generics<T>
Eine Menge der Klassen implementieren das Interface Comparable<T> und implementieren je nach Anforderungen die Methode compareTo(T o). Am Beispiel der Klasse Integer lässt sich sagen, dass die compareTo(T o) Methode hier ein positiven oder negativen Wert liefert, wenn der aufrufende Integer größer oder kleiner des zu vergleichenden Integer ist, im Fall der Gleichheit liefert die Methode Null. Die Klasse String implementiert die Methode wiederum anders.
Das Thema ist sehr umfangreich, du wirst dich da einlesen müssen.
Ich nehme an, dass jeweils eine Temperatur und ein Niederschlag zum entsprechenden Monat gehört und dieser Werte im Array an der gleichen Stelle (Index) stehen, also monate[5] und temperatur[5] und niederschlag[5] gehören zusammen?
Dann sortiere ganz einfach nach der Temperatur und tausche parallel dazu (also innerhalb der Sortierschleife für die Temperatur) auch monate[indexDerBeiTemperaturGetauschtWird] und niederschlag[indexDerBeiTemperaturGetauschtWird].
Um es noch etwas klarer zu machen: Du hast ja irgendwo so oder so ähnlich "Wenn temperatur[i] < temperatur[i-1] dann tausche temperatur[i] mit temperatur[i-1]" stehen. Du musst nur noch ergänzen "und tausche monate[i] mit monate[i-1] und tausche niederschlag[i] mit niederschlag[i-1].
Noch als Ergänzung: Der genannte Comparator ist natürlich die geschicktere Lösung, aber ich nehme an, dass bei deinem derzeitigen Stand ein manuelles Sortieren das Gewünschte ist.[/i][/i][/i][/i]