Kann mir jemand sagen was an diesem Code falsch ist? Ich kann einfach mein Fehler nicht finden oder den fehler die Methode zusammen ist nicht von mir, sondern von userer Infolehrerin...
Danke für Antworten
Danke für Antworten
Code:
import java.io.*;
public class MergeSort {
public MergeSort() throws IOException {
char[] wort = eingabe();
teile(wort, 0, wort.length);
ausgabe(wort);
}
public static char[] eingabe() throws IOException {
BufferedReader io = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Bitte geben Sie ein Wort ein was sortiert werden soll:");
String eingabe = io.readLine();
int n = eingabe.length();
char[] wort = new char[n];
for (int i = 0; i < n; i++) {
wort[i] = eingabe.charAt(i);
}
return wort;
}
static void teile(char[] wort, int unten, int oben) {
if (unten < oben) {
int mitte = (oben + unten) / 2;
teile(wort, unten, mitte);
teile(wort, mitte + 1, oben);
zusammen(wort, unten, mitte, oben);
}
}
public static void zusammen(char[] B, int unten, int mitte, int oben) {
char[] temp = new char[oben - unten + 1];
for (int i = 0, j = unten, k = mitte; i < temp.length; i++) {
if ((k > oben) || (j < mitte) && (B[j] < B[k])) {
temp[i] = B[j];
j++;
} else {
temp[i] = B[k];
k++;
}
}
for (int i = 0; i < temp.length; i++) {
B[unten + i] = temp[i];
}
}
public static void ausgabe(char[] wort) {
for (int i = 0; i < wort.length; i++) {
System.out.print(wort[i]);
}
}
public static void main(String[] args) throws IOException {
MergeSort MS = new MergeSort();
}
}