Sample IO
************************************************** *****************************
Expand|Select|Wrap|Line Numbers
- 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....
************************************************** *****************************************
Expand|Select|Wrap|Line Numbers
- 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.