Ich muss euch doch nochmal in Beschlag nehmen und ich hoffe es ist wieder nur ein Schusselfehler 
Wenn ich das ganze nun ausführe bekomme ich
java.lang.ArrayIndexOutOfBoundsException
Das bedeutet das das Array scheinbar überläuft, oder die Länge falsch gewählt ist.
Den Fehler erhalte ich in dieser Zeile int k = array[j]; da ich aber vorher ja nur bis zur maximalen Array Length gehe wie kann ich das überlaufen?

Java:
public class InsertionSort {
private int[] array;
private int l;
public void sort(int [] array){
this.array = array;
l = array.length;
InsertionSort();
}
private void InsertionSort(){
int i;
int j;
for (i = 0; i<array.length;i++); {
j = i;
int k = array[j];
while (j>0 && array[j-1] > k) {
array[j] = array[j-1];
j--;
}
array[j]=k;
}
}
}
Wenn ich das ganze nun ausführe bekomme ich
java.lang.ArrayIndexOutOfBoundsException
Das bedeutet das das Array scheinbar überläuft, oder die Länge falsch gewählt ist.
Den Fehler erhalte ich in dieser Zeile int k = array[j]; da ich aber vorher ja nur bis zur maximalen Array Length gehe wie kann ich das überlaufen?