Salve a tutti,
ho provato a scrivere due metodi diversi per fare la stessa cosa e nonostante teoricamente siano giusti entrambi (o almeno credo) ho osservato che il ciclo di for non funziona mentre il while si, e non riesco a capirne il motivo.
Vi chiedo aiuto proprio per questo.
Qua le righe del programma.
Grazie in anticipo e buone feste! 
codice:
public class prova
{ public static void main(String[] args)
{
String s1 = "pluto";
int lungh = s1.length(); // è 5
System.out.println("inizio for");
String sub = "";
for(int i=lungh; i>0 && i<2; --i)
{
sub = s1.substring(0,i);
System.out.println(sub);
}
System.out.println("fine for");
System.out.println("inizio while");
int k=lungh;
while(k>0)
{
System.out.println(s1.substring(0,k));
k--;
}
System.out.println("fine while");
}
}