Project Two Suggestions

A possible breakup of classes:

Bridge: It might minimally have these methods in addition to any constructors. Note: The arrival of people at the bridge should be staggered.  Your solution should work no matter who comes to the bridge, what order they come in, and how long they take to cross the bridge.
 
 
Person: It might minimally have these methods in addition to any constructors.  
CrossingGuard: This represents the "monitor" class (a Java class with synchronized methods) as the synchronization mechanism for your solution. Create only one instance of this class, most likely in main() and make sure that it can be referenced by the run method of Person.