Ich habe das Problem gefunden,
Bsp. Ablauf:
Kurz gesagt, deine Bedingung wird niemals true sein, da du die Schleife an der Stelle, an der die Ungleichheit kommt abbrichst. Ändere die Bedingung mal zu
for(... i<= smaller.length(); ...) dann wird immer der letzte Durchlauf deiner Schleife die Ausgabe deiner Methode bewirken.
Um Dir vielleicht meine Herangehensweise zu erklären: Etwas wird nicht geprintet oder nicht ausgeführt, dann muss der Weg dahin ja irgendwelche Abzweigungen oder (Schleifen-)Bedingungen haben, die nicht zutreffen. Somit kam ich dann darauf mal einen Papiertest zu erstellen und siehe da, theoretisches Testen ist gar nicht so verkehrt :D
Grüße