hi, I'm working on an exercise, i did a lot of work already and i just can't figure where I'm going wrong, this is what I'm trying to achieve
Sample IO
*******************************************************************************
Welcome to PeopleSoft 2
MENU: (A)dd student, (D)elete, (L)ist, (S)ort, e(X)it
a
Enter the student number
MSXMIC001
Enter the name
Mickey Mouse
Done
MENU: (A)dd student, (D)elete, (L)ist, (S)ort, e(X)it
a
Enter the student number
CHPALV001
Enter the name
Alvin the Chipmunk
Done
MENU: (A)dd student, (D)elete, (L)ist, (S)ort, e(X)it
a
Enter the student number
DCKDON002
Enter the name
Donald Duck
Done
MENU: (A)dd student, (D)elete, (L)ist, (S)ort, e(X)it
l
Student: DCKDON002, Donald Duck
Student: CHPALV001, Alvin the Chipmunk
Student: MSXMIC001, Mickey Mouse
Done
MENU: (A)dd student, (D)elete, (L)ist, (S)ort, e(X)it
s
Done
MENU: (A)dd student, (D)elete, (L)ist, (S)ort, e(X)it
l
Student: CHPALV001, Alvin the Chipmunk
Student: DCKDON002, Donald Duck
Student: MSXMIC001, Mickey Mouse
Done
MENU: (A)dd student, (D)elete, (L)ist, (S)ort, e(X)it
d
Enter the student number
DCKDON002
Done
MENU: (A)dd student, (D)elete, (L)ist, (S)ort, e(X)it
l
Student: CHPALV001, Alvin the Chipmunk
Student: MSXMIC001, Mickey Mouse
Done
MENU: (A)dd student, (D)elete, (L)ist, (S)ort, e(X)it
x
***************************************************************
and this is my code so far, that won't work....
*******************************************************************************************
import java.util.NoSuchElementException;
import java.util.Scanner;
public class LinkedList2
{ private class Node
{
private String name;
private String stuName;
private Node link;
public Node()
{
link = null;
name = null;
stuName = null;
}
public Node(String newStuName, String newName, Node linkValue)
{
setData(newStuName, newName);
link = linkValue;
}
public void setData(String newStuName, String newName)
{
name = newName;
stuName = newStuName;
}
public void setLink(Node newLink)
{
link = newLink;
}
public String getStuName()
{
return stuName;
}
public String getName()
{
return name;
}
public Node getLink()
{
return link;
}
}//end of node inner class
public class List2Iterator//inner class for iterators for linkedlist2
{
private Node position;
private Node previous;
public List2Iterator()
{
position = head;
previous = null;
}
public void restart()
{
position = head;
previous = null;
}
public String next()
{
if(!hasNext())
throw new NoSuchElementException();
String toReturn = position.stuName;
previous = position;
position = position.link;
return toReturn;
}
public boolean hasNext()
{
return(position != null);
}
public String peek()
{
if(!hasNext())
throw new IllegalStateException();
return position.stuName;
}
public void addHare(String newData)
{
if(position == null && previous != null)//if at end o list
previous.link = new Node(newData, null);
else if(position == null || previous == null)
LinkedList2.this.addToStart(newData);
else{
Node temp = new Node(newData, position);
previous.link = temp;
previous = temp;
}
}
public void changeHare(String newData)
{
if(position == null)
throw new IllegalStateException();
else
position.stuName = newData;
}
public void delete()
{
if(position == null)
throw new IllegalStateException();
else if(previous == null)
{
head = head.link;
position = head;
}
else
{
previous.link = position.link;
position = position.link;
}
}
}
private Node head;
public List2Iterator iterator()
{
return new List2Iterator();
}
public LinkedList2()
{
head = null;//adds node at the stat of the list with the specified data
}
public void addToStart(String itemStuName, String itemName)
{
head = new Node1(itemStuName, itemName, head);
}
}
public boolean deleteHeadNode()
{
if(head != null){
head = head.link;
return true;
}
else
return false;
}
/*public int size()//return number of nodes in the list
{
int count = 0;
Node position = head;
while(position != null)
{
count++;
position = position.link;
}
return count;
}*/
public boolean contains(String stuName, String name)
{
return (find(stuName, name) != null);
}
private Node find(String target)
{
Node position = head;
String itemAtPosition;
while (position != null)
{
itemAtPosition = position.stuName;
if(itemAtPosition.equals(target))
return position;
position = position.link;
}
return null; //target wan not found
}
public void outPutList()
{
Node position = head;
while(position != null);
{
System.out.println(position.stuName);
position = position.link;
}
}
public boolean isEmpty()
{
return(head == null);
}
public void clear()
{
head = null;
}
public boolean equals(Object otherObject)
{
if(otherObject == null)
return false;
else if(getClass() != otherObject.getClass())
return false;
else{
LinkedList2 otherList = (LinkedList2)otherObject;
if(size() != otherList.size())
return false;
Node position = head;
Node otherPosition = otherList.head;
while(position != null)
{
if((!(position.item.equals(otherPosition.stuName))))
return false;
position = position.link;
otherPosition = otherPosition.link;
}
return true;//a mis match was not found
}
}
public static void main(String[] args)
{
Scanner keyboard = new Scanner(System.in);
LinkedList2 list = new LinkedList2();
LinkedList2.List2Iterator i = list.iterator();
System.out.println("Welcome to PeopleSoft 2");
int choice = keyboard.nextInt();
while(choice !== 5)
{
System.out.println("MENU: (A)dd student, (D)elete, (L)ist, (S)ort, e(X)it");
switch(choice)
{
case 1:
System.out.println("Enter the student number");
stuNum = keyboard.next();
System.out.println("Enter the Student name");
name = keyboard.next();
list.addToStart(studentNum,name);
System.out.println("Done");
break;
case 2:
System.out.println("Enter student number");
stuName = keyboard.next();
i.restart();
i.next();
System.out.println("Will delete the node for; " + i.peek());
i.delete();
System.out.println("Done");
break;
case 3:
System.out.println("list now contains:");
i.restart();
while(i.hasNext())
System.out.println("Student: " + i.next());
System.out.println();
System.out.println("Done");
break;
case 5:
System.exit(0);
break;
default:
System.out.println("Error,please check your input again");
break;
}
}
}
}
********************************************************************************************
please help me see where I'm going wrong.