В основном я не знаю, почему мое целое число n
не получает больше.
Спасибо за каждый ответ!Приращение целочисленного числа в рекурсивном методе не работает (LinkedList)
public int n;
public int firstIndexOf(T val) {
if (val == this.getValue()) {
return n;
} else {
if (val != this.getValue() && this.next != null) {
n++;
return this.next.firstIndexOf(val);
} else {
return -1;
}
}
}
Я предполагаю, что это Java? Вы должны включить такие детали в свой вопрос. – abigperson
Поскольку элемент, который вы ищете, всегда находится в первом узле, или список содержит только один элемент. NB 1. Это плохое программирование. Небезопасно, для начала. Вы должны передать новое значение 'n' в качестве параметра. 2. Вам не нужен первый тест!! =. Вы уже находитесь в 'else', который так говорит. 3. Вы должны сравнивать значения с 'equals()', а не '=='. – EJP
ладно спасибо! проблема есть, является частью студенческой задачи, im довольно новой в java, вот почему ее проблема плохая. да, ваше право, я могу удалить первое! = спасибо. им не разрешено добавлять параметры. Возможно, у вас есть решение? иначе я могу сделать это с помощью нерекурсивного метода. Редактировать: я думаю, у меня есть идея, я делаю другой метод, который копирует val и имеет параметр n. надеюсь, что это работает! – HosenHochsteckManuel