//class CsusStudent does not need to be implemented. Only class LinkedList needs
ID: 3723416 • Letter: #
Question
//class CsusStudent does not need to be implemented. Only class LinkedList needs to be filled in based on the psuedocode given in the comments.
public class CsusStudent {
// class attributes
private String studentName;
private int studentId;
private String studentAddress;
private String studentPhone;
private String studentEmail;
// constructor
public CsusStudent(String newName, int newId, String newAddress, String newPhone_number, String newEmail){
this.studentName = newName;
this.studentId = newId;
this.studentAddress = newAddress;
this.studentPhone = newPhone_number;
this.studentEmail = newEmail;
}
// setName
public void setName(String newName){
this.studentName = newName;
}
// getName
public String getName(){
return studentName;
}
// setID
public void setID(int newId){
this.studentId = newId;
}
// getID
public int getID(){
return studentId;
}
// setAddress
public void setAddress(String newAddress){
this.studentAddress = newAddress;
}
// getAddress
public String getAddress(){
return studentAddress;
}
// setPhone
public void setPhone(String newPhone_number){
this.studentPhone = newPhone_number;
}
// getPhone
public String getPhone(){
return studentPhone;
}
// setEmail
public void setEmail(String newEmail){
this.studentEmail = newEmail;
}
// getEmail
public String getEmail(){
return studentEmail;
}
// toString
public String toString(){
// return a string value by combining all values from class's attributes
return "studentName = " + studentName + ", studentId = " + studentId + ", studentAddress = "
+ studentAddress + ", studentPhone = " + studentPhone + ", studentEmail = " + studentEmail;
}
}
________________--___________________________--_____________________________--__________________________________--____________________
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() {
}
// Move the current position backward one position
public void backward() {
}
// Get current object's data element
public Object currentData() {
}
// Add object to the first of the list
public void addFirst(Object o) {
}
// resetCurrent at the first position
public void resetCurrent() {
}
// Add object to the last of the list
public void addLast(Object o) {
}
// Add an object o before the current position
public void insertBefore(Object o) {
}
// Add an object o after the current position
public void insertAfter(Object o) {
}
// Get first object
public Object getFirst() {
}
// Get last object
public Object getLast() {
}
// Remove the first object
public Object removeFirst(){
}
// Remove the last object
public Object removeLast() {
}
// Remove object o from the list
public void remove(Object o) {
}
// Returns the number of elements on the list
public int size() {
return size;
}
// Is the list emptied?
public boolean isEmpty() {
}
// 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");
}
}
Page of 4 Zoom In This lab's objective is to develop methods (see attached diagram) for a linear linked list. The algorithms for these methods will be discussed in your lecture.You are given the following UML class diagram: Class LinkedList private head Node private current: Node size: int insertBefore(o) - Add an object o before the current position. insertAfter(o)- Add an object o after the current position remove(o)- Object o is removed from the list currentData)- Return the current object's data size)-Return the number of objects on the list forwardO- Move the current position forward one position backward0 Move the current position backward one position. resetCurrent)- Reset the current position at the first element addFirst0- Add object to the first of the list addLast)- Add object to the last of the list getFirst- Get first object getLasto-Get last object removeFirsto- Remove first object removeLast- Remove last objectExplanation / Answer
//class CsusStudent does not need to be implemented. Only class LinkedList needs to be filled in based on the psuedocode given in the comments.
class CsusStudent {
// class attributes
private String studentName;
private int studentId;
private String studentAddress;
private String studentPhone;
private String studentEmail;
// constructor
public CsusStudent(String newName, int newId, String newAddress, String newPhone_number, String newEmail){
this.studentName = newName;
this.studentId = newId;
this.studentAddress = newAddress;
this.studentPhone = newPhone_number;
this.studentEmail = newEmail;
}
// setName
public void setName(String newName){
this.studentName = newName;
}
// getName
public String getName(){
return studentName;
}
// setID
public void setID(int newId){
this.studentId = newId;
}
// getID
public int getID(){
return studentId;
}
// setAddress
public void setAddress(String newAddress){
this.studentAddress = newAddress;
}
// getAddress
public String getAddress(){
return studentAddress;
}
// setPhone
public void setPhone(String newPhone_number){
this.studentPhone = newPhone_number;
}
// getPhone
public String getPhone(){
return studentPhone;
}
// setEmail
public void setEmail(String newEmail){
this.studentEmail = newEmail;
}
// getEmail
public String getEmail(){
return studentEmail;
}
// toString
public String toString(){
// return a string value by combining all values from class's attributes
return "studentName = " + studentName + ", studentId = " + studentId + ", studentAddress = "
+ studentAddress + ", studentPhone = " + studentPhone + ", studentEmail = " + studentEmail;
}
}
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 , prev =null;
while(temp!=null && temp !=current){
prev = temp;
temp = temp.Next;
}
current = prev;
}
// Get current object's data element
public Object currentData() {
if (head == null) {
return null;
}
return head.Data;
}
// Add object to the first of the list
public void addFirst(Object o) {
Node newNode = new Node(o);
++size;
if (head == null) {
head = newNode;
current = newNode;
return;
}
newNode.Next = head;
head = newNode;
current = head;
}
// resetCurrent at the first position
public void resetCurrent() {
current = null;
}
// Add object to the last of the list
public void addLast(Object o) {
Node newNode = new Node(o);
++size;
if (head == null) {
newNode.Next = head;
head = newNode;
return;
}
Node temp = head;
while (temp.Next != null)
temp = temp.Next;
temp.Next = newNode;
}
// Add an object o before the current position
public void insertBefore(Object o) {
}
// Add an object o after the current position
public void insertAfter(Object o) {
}
// Get first object
public Object getFirst() {
if(head==null)
return null;
return head.Data;
}
// Get last object
public Object getLast() {
if(head==null)
return null;
Node temp = head;
while(temp.Next!=null)
temp = temp.Next;
return temp.Data;
}
// Remove the first object
public Object removeFirst(){
if(head==null)
return null;
Node temp = head;
head = head.Next;
return temp;
}
// Remove the last object
public Object removeLast() {
if(head==null)
return null;
Node temp = head, prev = null;
while(temp.Next!=null){
prev = temp;
temp = temp.Next;
}
if(prev==null && temp!=null)
head = null;
else if(prev!=null){
prev.Next = null;
}
return temp.Data;
}
// Remove object o from the list
public void remove(Object o) {
if (head == null)
return ;
Node curr = head;
Node temp = head;
Node previous = null;
boolean flag = false;
while (temp != null) {
if (temp.Data.equals(o)) {
flag = true;
break;
}
previous = temp;
temp = temp.Next;
}
if (previous != null && flag) {
previous.Next = temp.Next;
} else if (flag) {
head = head.Next;
temp = null;
}
--size;
}
// Returns the number of elements on the list
public int size() {
return size;
}
// Is the list emptied?
public boolean isEmpty() {
return head==null;
}
// 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");
}
}
========================================================
Implemented all the Methods
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.