Below is the syntax highlighted version of Calendar.java.
/* * Name: Jude Nelson * Precept: P01B, P07A * Login: jcnelson * * This is the Calendar class solution. */ public class Calendar { // calendar ST that maps dates to days private ST<Integer, Day> cal; // make a new calendar public Calendar() { this.cal = new ST<Integer, Day>(); } // schedule an event public void schedule(int date, Event ev) { if( this.cal.contains( date ) ) { // already have a day on this date; add the event to it this.cal.get(date).addEvent( ev ); } else { // no day on this date; make a day and add the event Day nd = new Day(); nd.addEvent( ev ); this.cal.put(date, nd); } } // print our calendar out public void show() { for( int date : cal ) { StdOut.println(date); cal.get(date).show(); StdOut.println(); } } // test main for Calendar public static void main(String[] args) { // set up some events Event ev1 = new Event(1000, 1050, "COS126 exam"); Event ev2 = new Event(1230, 1320, "COS126 precept exam"); Event ev3 = new Event(1200, 1300, "lunch with Bob"); Event ev4 = new Event(1000, 1050, "COS126 lecture"); Event ev5 = new Event(1230, 1320, "COS126 precept"); // set up some dates int d1 = 20120501; int d2 = 20120503; Calendar c = new Calendar(); c.schedule(d1, ev2); c.schedule(d1, ev1); c.schedule(d2, ev3); c.schedule(d2, ev4); c.schedule(d2, ev5); // Output the events for each date c.show(); } }