1
Мне нужна помощь, чтобы этот метод toString прошел тесты внизу. В настоящее время я получаю ошибку (ожидается: < 0:20, 1: [1] 0> но был < 0:20, 1: [2] 0>). addFirst работает на 100%, но я не уверен, что здесь не так.Мне нужна помощь в создании метода toString, который должен пройти определенные тесты, Java
public class LList
{
public Node head;
private int i;
private int size;
public void addFirst(int value)
{
Node n = new Node();
n.value = value;
n.next = head;
head = n;
}
public void removeFirst()
{
if (head != null)
{
// commone case: there is at least one node
head = head.next;
}
else
{
// no nodes
throw new Banana();
}
}
public int size()
{
Node current = head;
int count = 0;
while(current != null)
{
count++; // keep count of nodes
current = current.next; // move to next node
}
return count;
}
public int get(int index)
{
int count = 0;
Node current = head;
if (index < 0 || index >= size())
{
throw new Banana();
}
while(count != index)
{
count++;
current = current.next;
}
return current.value;
}
public String toString()
{
String s = "";
Node current = head;
//current = head;
if (size() == 0)
{
return s;
}
else
{
s = s + "" + i + ":" + current.value;
for (int i = 1; i < size(); i++)
{
s = s + ", " + i + ":" + current.value;
}
return s;
}
}
public class Node
{
public int value;
public Node next;
}
@Test
public void testToString()
{
LList a = new LList();
assertEquals("", a.toString());
a.addFirst(10);
assertEquals("0:10", a.toString());
a.addFirst(20);
assertEquals("0:20, 1:10", a.toString());
a.addFirst(30);
assertEquals("0:30, 1:20, 2:10", a.toString());
}
я думаю, что вы говорите о Java, но вы, вероятно, следует пометить это с реальным языком программирования – johnbakers
@johnbakers, что запамятовал, только что отредактировали. – Slytherus
Возможный дубликат [Need toString для прохождения определенных тестов] (http://stackoverflow.com/questions/32939772/need-tostring-to-pass-certain-tests) – shoover