Этот код будет зациклен навсегда.
Результат len - 1
никогда не сохраняется в цикле while, поэтому он не может выйти, а когда len = 2
он просто будет сидеть там, выводя 1с.while
в рекурсивных функциях.Обычно я ожидаю увидеть if
на его месте, что даст вам вывод:
4
3
2
1
Если вам действительно нужен while
, тогда я бы переписал цикл следующим образом:
while(len > 1)
{
len--;
System.out.println(len);
Strangemethod(len);
}
Будет выведено:
4
3
2
1
1
2
1
1
3
2
1
1
2
1
1