public class DequeueTest { public static void main(String[] args) { char command = ' '; String str; Dequeue1 deq = new Dequeue1(); while (command != 'q') { System.out.print("Command (q, h (enqueue onto head), H (remove from head),\n" + " t (enqueue onto tail), T (remove from tail), p (print)): "); command = Keyboard.readChar(); switch (command) { case 'q': break; case 'h': System.out.print("String: "); str = Keyboard.readString(); deq.addAtHead(str); break; case 'H': str = deq.removeHead(); if (str != null) System.out.println("Removed: " + str); else System.out.println("Tried to remove item from empty dequeue"); break; case 't': System.out.print("String: "); str = Keyboard.readString(); deq.addAtTail(str); break; case 'T': str = deq.removeTail(); if (str != null) System.out.println("Removed: " + str); else System.out.println("Tried to remove item from empty dequeue"); break; case 'p': deq.print("", "\n"); break; default: System.out.println("Huh? Try again"); break; } } } }