Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

public class LinkedList { // Defined Node class private class Node { private Obj

ID: 3737805 • Letter: P

Question

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

Explanation / Answer

Error 1:

Cant find sysmbol next.

location: variable temp of type LinkedList.Node
LinkedList.java:173: error: cannot find symbol
       temp = temp.next;
                  ^
   symbol:   variable next

Node class defines member Next not next. So while loop should look like below

while(temp!=null && temp.Next!=newNode){
        beforeNode = temp;
        temp = temp.Next;
        }

Please change the temp.next to temp.Next to resolve the error.

Error 2:
Can not find class CsusStudent
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");
       ^

No class defind in the name of CsusStudent. So please define a class CsusStudent as below inside LinkedList class or in seperate file called CsusStudent.java

public class CsusStudent {

String name;
int id;
String address;
String phoneNumber;
String email;
public CsusStudent(String name, int id, String address, String phone, String email) {
  // TODO Auto-generated constructor stub
  this.name = name;
  this.id = id;
  this.address = address;
  this.phoneNumber = phone;
  this.email = email;
}

}

Please follow below steps.