Здесь важно добавить, чтобы понять, как работают назначения в Java.
Значение length
не изменяется, потому что когда вы передаете значение в методе и оно входит в while
loop, цикл останавливается, когда останавливается условие, но не рекурсия xMethod(length-1);
, которую вы использовали.Вот почему, даже если вы добавите length--
, он не будет печатать то, что вам нужно.
Поэтому, чтобы программа работала правильно, вам нужно
- Назначить значение переменной
length
- Изменить или удалить рекурсию.
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/op1.html
И, пройдя по ссылке, вы поймете , почему значение не являетсяизменение .
Примечание: По ссылке вы узнаете, что length--
равно length = length -1
, поэтому в основном мы должны присвоить обновленное значение переменной length
.