Это говорит о том, что переназначать параметры - плохая практика.
Возможно, это правильно.Переназначение параметра может несколько усложнить отладку в некоторых обстоятельствах, поскольку после итерации цикла вы не сможете увидеть, какие данные были переданы в функцию изначально, поскольку вы перезаписали num
.Чтобы исправить это, создайте вторичную переменную, которую вы переназначаете:
public static int reverse(int num) {
int rev_num = 0;
int acc_num = num; // Here
while (acc_num > 0) { //The use it instead
int r = acc_num % 10;
rev_num = rev_num * 10 + r;
acc_num /= 10;
}
return rev_num;
}
Обратите внимание, что num
никогда не меняется.
Но нет, это не фактическая ошибка.Он просто говорит вам, что он считает лучшей практикой.