Problem Bubble Sort, Datei einlesen

Hallo! Schreibe gerade ein programm welches eine Reihe von Folgen von ganzen Zahlen von einer Datei einliest, die Folgen jeweils in einem Array speichert, die Arrays aufsteigend sortiert und die Ergebnisse in eine neue Datei ausgibt.


public class A11 {

        // Read an array of integers
        static int[] readArray() {
                In.open("input.txt");
                int n = In.readInt();
                int[] a = new int[n];
                for (int i = 0; i < n; i++) a** = In.readInt();
                In.close();
                return a;
        }
       
       
        // Print a
        static void printArray(int[] a) {
                for (int i = 0; i < a.length; i++) Out.print(" " + a**);
                Out.println();
        }
       
        // Sort a (using bubble sort)
        static void sort(int[] a) {
                for (int i = a.length-1; i > 0; i--) {
                        for (int j = 0; j < i; j++)
                                if (a[j] > a[j+1])
{ int h = a[j]; a[j] = a[j+1]; a[j+1] = h; }
                }
        }
       
        public static void main(String args[]) {
                int[] a = readArray();
                Out.print("Eingabe: "); printArray(a);
                sort(a);
                Out.print("Sortiert:"); printArray(a);
        }
}

Es funktioniert bei mir aber leider nicht das ich die Zahlen von einer datei einlese, meine datei input beinhaltet:

6: 3 4 1 6 5 2
5: 4 7 2 8 7
7: 3 8 12 5 12 4 2
3: 1 1 1

Die Ausgabedatei soll dazu so aussehen:

6: 1 2 3 4 5 6
5: 2 4 7 7 8
7: 2 3 4 5 8 12 12
3: 1 1 1

Vielleicht kann mir bitte jemand helfen wie ich von der datei einlesen kann und wieder in eine datei ausgeben kann?

Vielen Dank lg alex




Sorry für den Eintrag hier noch einmal der Code:

public class A11 {

        // Read an array of integers
        static int[] readArray() {
                In.open("input.txt");
                int n = In.readInt();
                int[] a = new int[n];
                for (int i = 0; i < n; i++) a** = In.readInt();
                In.close();
                return a;
        }
       
       
        // Print a
        static void printArray(int[] a) {
                for (int i = 0; i < a.length; i++) Out.print(" " + a**);
                Out.println();
        }
       
        // Sort a (using bubble sort)
        static void sort(int[] a) {
                for (int i = a.length-1; i > 0; i--) {
                        for (int j = 0; j < i; j++)
                                if (a[j] > a[j+1])
{ int h = a[j]; a[j] = a[j+1]; a[j+1] = h; }
                }
        }
       
        public static void main(String args[]) {
                int[] a = readArray();
                Out.print("Eingabe: "); printArray(a);
                sort(a);
                Out.print("Sortiert:"); printArray(a);
        }
}

Lg alex

Bin mir nicht sicher ob du das hier erreichen wolltest :

public class A11 {
// Read an array of integers
static int[] readArray() {
In.open(“input.txt”);
int n = In.readInt();
int[] a = new int[n];
for (int i = 0; i < n; i++) a** = In.readInt();
In.close();
return a;
}

// Print a
static void printArray(int[] a) {
for (int i = 0; i < a.length; i++) Out.print(" " + a**);
Out.println();
}

// Sort a (using bubble sort)
static void sort(int[] a) {
for (int i = a.length-1; i > 0; i–) {
for (int j = 0; j < i; j++)
if (a[j] > a[j+1]) { int h = a[j]; a[j] = a[j+1]; a[j+1] = h; }
}
}

public static void main(String args[]) {
int[] a = readArray();
Out.print("Eingabe: "); printArray(a);
sort(a);
Out.print(“Sortiert:”); printArray(a);
}
}
/*
Sample input:
8 3 7 22 5 61 0 12 1
*/