Discover answers to your most pressing questions at Westonci.ca, the ultimate Q&A platform that connects you with expert solutions. Get quick and reliable solutions to your questions from a community of experienced experts on our platform. Get precise and detailed answers to your questions from a knowledgeable community of experts on our Q&A platform.

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