Ich glaube nicht dass dein Algorithmus falsch ist, sondern deine Ausgabe. Setz am ende deiner print-Methode mal noch folgende Zeile: System.out.println(""); um am Ende ein Zeilenumbruch zu machen.