Для домашней работы я работаю над написанием класса LinkedList, который заменяет методы LinkedList.Я работаю над методом "set".
Вот что у меня есть для метода set ().Он принимает int index
и X item
в качестве параметров.Голова узла находится в переменной с именем first
.(Весь класс обобщен.)
Node<X> p = new Node<X>();
if(index < 0 || index > size()-1){
throw new Bonfire();
}
int count = 0;
while(count != index){
p = p.next;
count++;
}
if(count == index){
p.item = item;
}
Класс узла:
public class Node<T>
{
T item;
Node<T> next;
}
Когда я запускаю свой код в сравнении с некоторым имеющимся у меня тестовым кодом, он не проходит тест.
Код теста:
LList<String> b = new LList<String>();
b.add("Hello");
b.add("Bye");
b.set(0, "Bonjour");
assertEquals("Bonjour", b.get(0));
Неудачный тест Причина: org.junit.ComparisonFailure: expected:<[Bonjour]> but was:<[Hello]>
(методы add (), size () и get () работают правильно.)
Итак, мой вопрос, как мне получить это, чтобы правильно установить элемент?Из этого кода и из-за того, почему он не проходит тест, похоже, что он вообще ничего не устанавливает.Если вам нужна дополнительная информация от меня, не стесняйтесь спрашивать меня.Ценю помощь.Спасибо!