Hallo an euch alle,
ich bringe mir selber Java bei und versuche gerade zwei Felder in einem zusammenzufügen. Allerdings sollen die Werte der Felder in dem neuen Feld aufsteigend sortiert sein.
Hier ist mein Lösungsansatz:
Problem ist jetzt, dass die Ausgabe nicht richtig ist. Außerdem kommt mir mein Ansatz viel zu kompliziert vor um richtig zu sein.. =)
Hat jemand vielleicht Verbesserungsvorschläge oder kann mir einen anderen (besseren) Lösungsweg vorschlagen?
Liebe Grüße,
Burned
ich bringe mir selber Java bei und versuche gerade zwei Felder in einem zusammenzufügen. Allerdings sollen die Werte der Felder in dem neuen Feld aufsteigend sortiert sein.
Hier ist mein Lösungsansatz:
Java:
import javax.swing.JOptionPane;
class ArrayVereinigung {
public static String merge() {
int [] unsorted1 = {1, 6, 8};
int [] unsorted2 = {2, 4, 5};
int [] sorted = {0, 0, 0, 0, 0, 0};
String output = "";
for (int i = 0, j=0; i < unsorted2.length; i++) {
if (unsorted1[i] > unsorted2 [i]) {
sorted[j] = unsorted2[i];
j++;
if (i + 1 < unsorted2.length && unsorted1[i]<unsorted2[i+1]) {
sorted[j] = unsorted1[i];
j++;
}
}
else {
sorted[j] = unsorted1[i];
j++;
if (i + 1 < unsorted1.length && unsorted2[i]<unsorted1[i+1]) {
sorted[j] = unsorted2[i];
j++;
}
}
}
for (int i = 0; i < sorted.length; i++)
output = output + sorted[i] + ", ";
return output;
}
public static void main(String[] args) {
JOptionPane.showMessageDialog (null, merge());
}
}
Problem ist jetzt, dass die Ausgabe nicht richtig ist. Außerdem kommt mir mein Ansatz viel zu kompliziert vor um richtig zu sein.. =)
Hat jemand vielleicht Verbesserungsvorschläge oder kann mir einen anderen (besseren) Lösungsweg vorschlagen?
Liebe Grüße,
Burned