Question
public class LinkedList { // Defined Node class private class Node { private Object Data = null; private Node Next = null; public Node() {
public class LinkedList {
// Defined Node class
private class Node { private Object Data = null; private Node Next = null; public Node() { Data = null; Next = null; } public Node(Object element) { Data = element; } public Node(Object o, Node n) { Data = o; Next = n; } public void setNext(Node n) { Next = n; } public Node getNext() { return Next; } public Object getElement() { return Data; } public void setElement(Object element) { Data = element; } }
// Internal data for LinkedList
private Node head = null;
private Node current = null;
private int size = 0;
// LinkedList constructor
public LinkedList() { head = null; current = head; }
// Move the current position forward one position
public void forward() { current = current.Next; }
// Move the current position backward one position
public void backward() { Node temp = head; while(temp.Next != current) { temp = temp.Next; } current = temp; }
// Get current object's data element
public Object currentData() { return current.Data; }
// Add object to the first of the list
public void addFirst(Object o) { Node newNode = new Node(o); newNode.Next = head; head = newNode; size ++; }
// resetCurrent at the first position
public void resetCurrent() { current = head; }
// Add object to the last of the list
public void addLast(Object o) { Node newNode = new Node(o); if(head == null) { head = newNode; size ++; return; } newNode.Next = null; Node last = head; while (last.Next != null) last = last.Next; last.Next = newNode; size ++; }
// Add an object o before the current position
public void insertBefore(Object o) { Node newNode = new Node(o); Node temp = head, beforeNode=null; while(temp!=null && temp.next!=newNode){ beforeNode = temp; temp = temp.next; } }
// Add an object o after the current position
public void insertAfter(Object o) { Node newNode = new Node(o, null); newNode.Next = current.Next; current.Next = newNode; size ++; }
// Get first object
public Object getFirst() { return head.Data; }
// Get last object
public Object getLast() { Node temp = head; while(temp != null) temp = temp.Next; return temp.Data; }
// Remove the first object
public Object removeFirst(){ Node temp = head; head = head.Next; size --; return temp.Data; }
// Remove the last object
public Object removeLast() { Node temp = head; while(temp.Next != null) temp = temp.Next; Node p = temp.Next; temp.Next = null; size --; return p.Data; }
// Remove object o from the list
public void remove(Object o) { Node temp = head, prev = null; // If head node itself holds the key to be deleted if (temp != null && temp.Data == o) { head = temp.Next; // Changed head return; } // Search for the key to be deleted, keep track of the // previous node as we need to change temp.next while (temp != null && temp.Data != o) { prev = temp; temp = temp.Next; } // If key was not present in linked list if (temp == null) return; // Unlink the node from linked list prev.Next = temp.Next; size --; }
// Returns the number of elements on the list
public int size() { return size; }
// Is the list emptied?
public boolean isEmpty() { return size == 0 ? true : false; }
// Display a content of a list
public String toString() { String r = "( HEAD -> "; // Node l = head.getNext(); Node l = head; while (l != null) { r = r + l.getElement() + " -> " ; l = l.getNext(); } return r + " )"; }
public static void main(String args[]) { LinkedList lst = new LinkedList(); // creat instances for testing CsusStudent instance1 = new CsusStudent("John Doe 1", 1, "1 Somewhere", "916-555-1211", "johndoe1@somewhere.com"); CsusStudent instance2 = new CsusStudent("John Doe 2", 2, "2 Somewhere", "916-555-1212", "johndoe2@somewhere.com"); CsusStudent instance3 = new CsusStudent("John Doe 3", 3, "3 Somewhere", "916-555-1213", "johndoe3@somewhere.com"); CsusStudent instance4 = new CsusStudent("John Doe 4", 4, "4 Somewhere", "916-555-1214", "johndoe4@somewhere.com"); CsusStudent instance5 = new CsusStudent("John Doe 5", 5, "5 Somewhere", "916-555-1215", "johndoe5@somewhere.com"); CsusStudent instance6 = new CsusStudent("John Doe 6", 6, "6 Somewhere", "916-555-1216", "johndoe6@somewhere.com"); CsusStudent instance7 = new CsusStudent("John Doe 7", 7, "7 Somewhere", "916-555-1217", "johndoe7@somewhere.com"); CsusStudent instance8 = new CsusStudent("John Doe 8", 8, "8 Somewhere", "916-555-1218", "johndoe8@somewhere.com"); CsusStudent instance9 = new CsusStudent("John Doe 9", 9, "9 Somewhere", "916-555-1219", "johndoe9@somewhere.com"); // begin adding instance1 to the list // test forward and backward for single entry // now add instance2 and instance3 via addFirst and instance4, instance5, instance6 via addLast // move current forward a few times // insert instance 9 after // remove instance9 // print out the first and last entries System.out.println("Show the first entry and last entry:"); // print out the whole list System.out.println("Show the whole list:"); // remove entries starting from the last entry System.out.println("Check for the content of the emptied list"); }
}
-----------------------------------------------------------------------------------
import org.junit.Assert;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
public class LinkedListTest1 {
/** Fixture initialization (common initialization
* for all tests). **/
CsusStudent instance1, instance2, instance3, instance4, instance5, instance6, instance7, instance8;
@Before public void setUp() { instance1 = new CsusStudent("John Doe 1", 1, "1 Somewhere", "916-555-1211", "johndoe1@somewhere.com"); instance2 = new CsusStudent("John Doe 2", 2, "2 Somewhere", "916-555-1212", "johndoe2@somewhere.com"); instance3 = new CsusStudent("John Doe 3", 3, "3 Somewhere", "916-555-1213", "johndoe3@somewhere.com"); instance4 = new CsusStudent("John Doe 4", 4, "4 Somewhere", "916-555-1214", "johndoe4@somewhere.com"); instance5 = new CsusStudent("John Doe 5", 5, "5 Somewhere", "916-555-1215", "johndoe5@somewhere.com"); instance6 = new CsusStudent("John Doe 6", 6, "6 Somewhere", "916-555-1216", "johndoe6@somewhere.com"); instance7 = new CsusStudent("John Doe 7", 7, "7 Somewhere", "916-555-1217", "johndoe7@somewhere.com"); instance8 = new CsusStudent("John Doe 8", 8, "8 Somewhere", "916-555-1218", "johndoe8@somewhere.com"); }
// test addFirst and getFirst
@Test public void testaddGetFirst() { LinkedList lst = new LinkedList(); lst.addFirst(instance1); int expResult = 1; assertEquals(expResult, lst.size()); CsusStudent instance = (CsusStudent) lst.getFirst(); assertEquals("John Doe 1", instance.getName()); }
// test list traversal 1 with forward, getFirst, and getLast
@Test public void testTraversal1() { LinkedList lst = new LinkedList(); lst.addFirst(instance1); lst.addFirst(instance2); lst.addFirst(instance3); lst.addLast(instance4); lst.addLast(instance5); lst.addLast(instance6); lst.forward(); lst.forward(); lst.insertAfter(instance7); CsusStudent stf = (CsusStudent)lst.getFirst(); CsusStudent stl = (CsusStudent)lst.getLast(); assertEquals("John Doe 3", stf.getName()); assertEquals("John Doe 6", stl.getName()); }
// test list traversal 2 with backward, getFirst, getLast, and size
@Test public void testTraversal2() { LinkedList lst = new LinkedList(); lst.addFirst(instance1); lst.addFirst(instance2); lst.addFirst(instance3); lst.addLast(instance4); lst.addLast(instance5); lst.addLast(instance6); lst.backward(); lst.backward(); lst.insertBefore(instance7); CsusStudent stf = (CsusStudent)lst.getFirst(); CsusStudent stl = (CsusStudent)lst.getLast(); assertEquals("John Doe 7", stf.getName()); assertEquals("John Doe 6", stl.getName()); assertEquals(7,lst.size()); }
}
keep getting errors
LinkedList.java:171: error: cannot find symbol while(temp!=null && temp.next!=newNode){ ^ symbol: variable next location: variable temp of type LinkedList.Node LinkedList.java:173: error: cannot find symbol temp = temp.next; ^ symbol: variable next location: variable temp of type LinkedList.Node LinkedList.java:339: error: cannot find symbol CsusStudent instance1 = new CsusStudent("John Doe 1", 1, "1 Somewhere", "916-555-1211", "johndoe1@somewhere.com"); ^ symbol: class CsusStudent location: class LinkedList LinkedList.java:339: error: cannot find symbol CsusStudent instance1 = new CsusStudent("John Doe 1", 1, "1 Somewhere", "916-555-1211", "johndoe1@somewhere.com"); ^ symbol: class CsusStudent location: class LinkedList LinkedList.java:341: error: cannot find symbol CsusStudent instance2 = new CsusStudent("John Doe 2", 2, "2 Somewhere", "916-555-1212", "johndoe2@somewhere.com"); ^ symbol: class CsusStudent location: class LinkedList LinkedList.java:341: error: cannot find symbol CsusStudent instance2 = new CsusStudent("John Doe 2", 2, "2 Somewhere", "916-555-1212", "johndoe2@somewhere.com"); ^ symbol: class CsusStudent location: class LinkedList LinkedList.java:343: error: cannot find symbol CsusStudent instance3 = new CsusStudent("John Doe 3", 3, "3 Somewhere", "916-555-1213", "johndoe3@somewhere.com"); ^ symbol: class CsusStudent location: class LinkedList LinkedList.java:343: error: cannot find symbol CsusStudent instance3 = new CsusStudent("John Doe 3", 3, "3 Somewhere", "916-555-1213", "johndoe3@somewhere.com"); ^ symbol: class CsusStudent location: class LinkedList LinkedList.java:345: error: cannot find symbol CsusStudent instance4 = new CsusStudent("John Doe 4", 4, "4 Somewhere", "916-555-1214", "johndoe4@somewhere.com"); ^ symbol: class CsusStudent location: class LinkedList LinkedList.java:345: error: cannot find symbol CsusStudent instance4 = new CsusStudent("John Doe 4", 4, "4 Somewhere", "916-555-1214", "johndoe4@somewhere.com"); ^ symbol: class CsusStudent location: class LinkedList LinkedList.java:347: error: cannot find symbol CsusStudent instance5 = new CsusStudent("John Doe 5", 5, "5 Somewhere", "916-555-1215", "johndoe5@somewhere.com"); ^ symbol: class CsusStudent location: class LinkedList LinkedList.java:347: error: cannot find symbol CsusStudent instance5 = new CsusStudent("John Doe 5", 5, "5 Somewhere", "916-555-1215", "johndoe5@somewhere.com"); ^ symbol: class CsusStudent location: class LinkedList LinkedList.java:349: error: cannot find symbol CsusStudent instance6 = new CsusStudent("John Doe 6", 6, "6 Somewhere", "916-555-1216", "johndoe6@somewhere.com"); ^ symbol: class CsusStudent location: class LinkedList LinkedList.java:349: error: cannot find symbol CsusStudent instance6 = new CsusStudent("John Doe 6", 6, "6 Somewhere", "916-555-1216", "johndoe6@somewhere.com"); ^ symbol: class CsusStudent location: class LinkedList LinkedList.java:351: error: cannot find symbol CsusStudent instance7 = new CsusStudent("John Doe 7", 7, "7 Somewhere", "916-555-1217", "johndoe7@somewhere.com"); ^ symbol: class CsusStudent location: class LinkedList LinkedList.java:351: error: cannot find symbol CsusStudent instance7 = new CsusStudent("John Doe 7", 7, "7 Somewhere", "916-555-1217", "johndoe7@somewhere.com"); ^ symbol: class CsusStudent location: class LinkedList LinkedList.java:353: error: cannot find symbol CsusStudent instance8 = new CsusStudent("John Doe 8", 8, "8 Somewhere", "916-555-1218", "johndoe8@somewhere.com"); ^ symbol: class CsusStudent location: class LinkedList LinkedList.java:353: error: cannot find symbol CsusStudent instance8 = new CsusStudent("John Doe 8", 8, "8 Somewhere", "916-555-1218", "johndoe8@somewhere.com"); ^ symbol: class CsusStudent location: class LinkedList LinkedList.java:355: error: cannot find symbol CsusStudent instance9 = new CsusStudent("John Doe 9", 9, "9 Somewhere", "916-555-1219", "johndoe9@somewhere.com"); ^ symbol: class CsusStudent location: class LinkedList LinkedList.java:355: error: cannot find symbol CsusStudent instance9 = new CsusStudent("John Doe 9", 9, "9 Somewhere", "916-555-1219", "johndoe9@somewhere.com"); ^ symbol: class CsusStudent location: class LinkedList 20 errors
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started