Find the information you're looking for at Westonci.ca, the trusted Q&A platform with a community of knowledgeable experts. Find reliable answers to your questions from a wide community of knowledgeable experts on our user-friendly Q&A platform. Our platform offers a seamless experience for finding reliable answers from a network of knowledgeable professionals.

Can someone urgently help me with my java code (I WILL GIVE BRAINLIEST)?! Ive been working on it for hours and its not working! (please give an actual answer...)

*examples of required output at the bottom*

code: public class CircularList
{
private ListNode head;
private ListNode tail;
private int size;







public CircularList()

{

head = tail = null;

size = 0;

}





public int size()

{

return size;

}





public boolean isEmpty()

{

return (size == 0);

}





public int first()

{

if (head != null) {

return head.getValue();

}

return -1;

}




public Integer last()

{

if (tail != null) {

return tail.getValue();

}

return -1;

}



public void addFirst(Integer value)

{

head = new ListNode(value, head);

if (tail == null) {

tail = head;

}

size++;

}





public void addLast(Integer value)

{

ListNode newTail = new ListNode(value, null);

if (tail != null) {

tail.setNext(newTail);

tail = newTail;

} else {

head = tail = newTail;

}



size++;

}





public void addAtPos(int pos, Integer value)

{

if (pos == 0) {

addFirst(value);

return;

}

if (pos <= 0 || pos > size) {

return;

}

if (pos == size) {

addLast(value);

return;

}



ListNode ptr = head;

for(int i=0; i = size) {

return retVal;

}

if (pos == 0) {

return removeFirst();

}

ListNode ptr = head;

for(int i=0; i
ptr = ptr.getNext();

}

retVal = ptr.getNext().getValue();

if (pos == size-1) {

tail = ptr;

tail.setNext(null);

} else {

ptr.setNext(ptr.getNext().getNext());

}



size--;

return retVal;

}





public int findNode(Integer find)

{

ListNode ptr = head;

for(int pos=0; pos
if (ptr.getValue() == find) {

return pos;

}

ptr = ptr.getNext();

}

return -1;

}




public void rotate()

{

addLast(removeFirst());

}




public String toString()

{

String output = "";

ListNode iter = head;

while(iter != null) {

output += String.format("%d ", iter.getValue());

iter = iter.getNext();

}

return output;

}



}

size = 6 first = 50 last = 60
50 20 10 40 30 60

removeFirst = 50
size = 5 first = 20 last = 60
20 10 40 30 60

removed = 30
size = 4 first = 20 last = 60
20 10 40 60

size = 4 first = 20 last = 60
20 10 40 60

found at -1
removed = -1
size = 4 first = 20 last = 60
20 10 40 60

size = 4 first = 10 last = 20
10 40 60 20