/* * ========================================================================== * WorkSchedule.java: This program demonstrates use of enumerated data types, * used in combination with switch statements. * * Written by: Mark Austin June 2009 * ========================================================================== */ public class WorkSchedule { DayOfWeek day; public WorkSchedule( DayOfWeek day ) { this.day = day; } // Create a string representation of the day ... public String getDay() { String s = null; switch(day) { case SUNDAY: s = "Sunday"; break; case MONDAY: s = "Monday"; break; case TUESDAY: s = "Tuesday"; break; case WEDNESDAY: s = "Wednesday"; break; case THURSDAY: s = "Thursday"; break; case FRIDAY: s = "Friday"; break; case SATURDAY: s = "Saturday"; break; default: break; } return s; } // Describe work schedule ... public String describe() { String description; switch(day) { case SUNDAY: description = "I stay home..."; break; case MONDAY: case TUESDAY: case WEDNESDAY: case THURSDAY: description = "It's a week day, so I go to work."; break; case FRIDAY: description = "Last day of the working week, so I leave early!"; break; case SATURDAY: description = "It's been a long work week. I stay home."; break; default: description = "Something wrong Day not defined?"; } return description; } // Exercise methods in WorkSchedule ... public static void main(String[] args) { // Create objects for work schedules on three different days ... WorkSchedule day1 = new WorkSchedule( DayOfWeek.THURSDAY ); WorkSchedule day2 = new WorkSchedule( DayOfWeek.FRIDAY ); WorkSchedule day3 = new WorkSchedule( DayOfWeek.SATURDAY ); WorkSchedule day4 = new WorkSchedule( DayOfWeek.SUNDAY ); // Describe the work schedules on each of these days ... System.out.printf("Today is %8s\n", day1.getDay() ); System.out.printf("My work schedule: %s\n", day1.describe() ); System.out.println(""); System.out.printf("Today is %8s\n", day2.getDay() ); System.out.printf("My work schedule: %s\n", day2.describe() ); System.out.println(""); System.out.printf("Today is %8s\n", day3.getDay() ); System.out.printf("My work schedule: %s\n", day3.describe() ); System.out.println(""); System.out.printf("Today is %8s\n", day4.getDay() ); System.out.printf("My work schedule: %s\n", day4.describe() ); } }