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

Linked List In this program you will create a linked list. Each node will have t

ID: 3815968 • Letter: L

Question

Linked List

In this program you will create a linked list. Each node will have the following information:

Employee Number

First name

Last Name

Age

This program will have the following functions:

Display List

List the entries in the nodes.

Add Employees

Create new nodes in the list

Change Employee info

Edit and change information in a node in the list

User must specify the Employee number

Produce a meaningful message if the employee number is not in the list

All numeric input must be validated.

Delete Employees :

remove the node from the list.

Do not forget that if a node is removed from the middle you must reconnect the prior node with the next node.

Count List :

This function will count the number of items in a linked list NOT including the Head. Display the following message:

NNNN has a linked list with ### entries.

where NNNN is your first and last name and ### is the number of entries

e.g. John Smith has a linked list with 4 entries.

Explanation / Answer

Hi,

Please see below the classes.

Node.java


public class Node {
   private String employeeNumber;
   private String firstName;
   private String lastName;
   private int age;
  
   public Node(String employeeNumber, String firstName, String lastName,int age) {
       super();
       this.employeeNumber = employeeNumber;
       this.firstName = firstName;
       this.lastName = lastName;
       this.age = age;
   }
   public String getEmployeeNumber() {
       return employeeNumber;
   }
   public void setEmployeeNumber(String employeeNumber) {
       this.employeeNumber = employeeNumber;
   }
   public String getFirstName() {
       return firstName;
   }
   public void setFirstName(String firstName) {
       this.firstName = firstName;
   }
   public String getLastName() {
       return lastName;
   }
   public void setLastName(String lastName) {
       this.lastName = lastName;
   }
   public int getAge() {
       return age;
   }
   public void setAge(int age) {
       this.age = age;
   }
     

}

MyLinkedList.java

import java.util.Iterator;
import java.util.LinkedList;

public class MyLinkedList {
   private LinkedList<Node> nodes;
  
   public MyLinkedList(){
       nodes = new LinkedList<>();
   }

   //Display List
   public void displayList(){
       Iterator<Node> iter = nodes.iterator();
       while(iter.hasNext()){
           Node currNode = iter.next();
           System.out.println("Employee Number : "+currNode.getEmployeeNumber()
                               +" First Name : "+currNode.getFirstName()
                               +" Last Name : "+ currNode.getLastName()
                               +" Age : "+currNode.getAge());
       }
   }
  
   //Add Employees
   public void addEmployees(Node node){
       this.nodes.add(node);
   }
  
   //Change Employee info
   public void changeEmpInfo(String empNo,String paramNum, String newParam){
       Iterator<Node> iter = nodes.iterator();
       boolean empFound =false;
       while(iter.hasNext()){
           Node currNode = iter.next();
           if(currNode.getEmployeeNumber().equalsIgnoreCase(empNo)){
               if("1".equalsIgnoreCase(paramNum)){
                   currNode.setFirstName(newParam);
               }
               else if("2".equalsIgnoreCase(paramNum)){
                   currNode.setLastName(newParam);
               }
               else if("3".equalsIgnoreCase(paramNum)){
                   currNode.setAge(Integer.valueOf(newParam));
               }
              
               empFound = true;
               System.out.println("Employee with Emp number : "+empNo +"has been updated successfully.");
               break;
           }
       }
       if(!empFound){
           System.out.println("No Employee exists with this Emp number : "+empNo);
       }
   }
   //Delete Employees
   public void delete(String empNo){
       Iterator<Node> iter = nodes.iterator();
       while(iter.hasNext()){
           Node currNode = iter.next();
           if(currNode.getEmployeeNumber().equalsIgnoreCase(empNo)){
               nodes.remove(currNode);
               System.out.println("Emplyee Deleted.");
               break;
           }
       }
   }
  
   //Count List
   public void countList(){
       String headFName ="";
       String headLName ="";
       Iterator<Node> iter = nodes.iterator();
       while(iter.hasNext()){
           Node currNode = iter.next();
           headFName = currNode.getFirstName(); //getting the firstname of the head node
           headLName = currNode.getLastName(); ////getting the lastName of the head node
           break;
       }
      
       System.out.println(headFName +" "+headLName + " has a linked list with "+nodes.size()+" entries. ");
   }
  
   //Getters and Setters
   public LinkedList<Node> getNodes() {
       return nodes;
   }

   public void setNodes(LinkedList<Node> nodes) {
       this.nodes = nodes;
   }

}

MyLinkedListTester.java


public class MyLinkedListTester {
  
   public static void main(String [] args){
       //Populating the nodes linkedlist
       Node node1 = new Node("1011", "Robert", "Tom", 36);
       Node node2 = new Node("1012", "Cobert", "Gom", 35);
       Node node3 = new Node("1013", "Tobert", "Jom", 33);
       Node node4 = new Node("1014", "Lobert", "Zom", 37);
       Node node5 = new Node("1015", "Wobert", "Yom", 31);
      
       MyLinkedList myLinkedList = new MyLinkedList();
       myLinkedList.getNodes().add(node1);
       myLinkedList.getNodes().add(node2);
       myLinkedList.getNodes().add(node3);
       myLinkedList.getNodes().add(node4);
       myLinkedList.getNodes().add(node5);
      
       //Displaying List
       myLinkedList.displayList();
      
       //Adding new Employee
       Node nodeNew = new Node("2001", "Kalvin", "Clain", 27);
       myLinkedList.addEmployees(nodeNew);
      
       //Display after adding new employee
       System.out.println("Display after adding new employee ");
       myLinkedList.displayList();
      
       //Changing Employee info
       myLinkedList.changeEmpInfo("1011", "1", "Tara"); //Changing firstName
       myLinkedList.changeEmpInfo("1011", "2", "Collin"); //Changing lastName
       myLinkedList.changeEmpInfo("1011", "3", "28"); //Changing age
      
       //Display after changing emp info
       System.out.println("Display after changing employee information");
       myLinkedList.displayList();
      
       //Deleting Employees
       myLinkedList.delete("2001");
      
       //Display after Deleteng employee
       System.out.println("Display after Deleteng employee");
       myLinkedList.displayList();
      
       //Counting List
       myLinkedList.countList();
      
   }

}

Sample output:

Employee Number : 1011 First Name : Robert Last Name : Tom Age : 36
Employee Number : 1012 First Name : Cobert Last Name : Gom Age : 35
Employee Number : 1013 First Name : Tobert Last Name : Jom Age : 33
Employee Number : 1014 First Name : Lobert Last Name : Zom Age : 37
Employee Number : 1015 First Name : Wobert Last Name : Yom Age : 31
Display after adding new employee
Employee Number : 1011 First Name : Robert Last Name : Tom Age : 36
Employee Number : 1012 First Name : Cobert Last Name : Gom Age : 35
Employee Number : 1013 First Name : Tobert Last Name : Jom Age : 33
Employee Number : 1014 First Name : Lobert Last Name : Zom Age : 37
Employee Number : 1015 First Name : Wobert Last Name : Yom Age : 31
Employee Number : 2001 First Name : Kalvin Last Name : Clain Age : 27
Employee with Emp number : 1011has been updated successfully.
Employee with Emp number : 1011has been updated successfully.
Employee with Emp number : 1011has been updated successfully.
Display after changing employee information
Employee Number : 1011 First Name : Tara Last Name : Collin Age : 28
Employee Number : 1012 First Name : Cobert Last Name : Gom Age : 35
Employee Number : 1013 First Name : Tobert Last Name : Jom Age : 33
Employee Number : 1014 First Name : Lobert Last Name : Zom Age : 37
Employee Number : 1015 First Name : Wobert Last Name : Yom Age : 31
Employee Number : 2001 First Name : Kalvin Last Name : Clain Age : 27
Emplyee Deleted.
Display after Deleteng employee
Employee Number : 1011 First Name : Tara Last Name : Collin Age : 28
Employee Number : 1012 First Name : Cobert Last Name : Gom Age : 35
Employee Number : 1013 First Name : Tobert Last Name : Jom Age : 33
Employee Number : 1014 First Name : Lobert Last Name : Zom Age : 37
Employee Number : 1015 First Name : Wobert Last Name : Yom Age : 31
Tara Collin has a linked list with 5 entries.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote