Source of AlarmClock.java


  1: /**
  2: An alarm clock should include a time to sound the alarm as well as methods
  3: to set the alarm.
  4: */
  5: public class AlarmClock extends Clock
  6: {
  7:         public int alarmHour;
  8:         public int alarmMinute;
  9:         public int alarmSecond;
 10: 
 11:         //Constructors
 12:         public AlarmClock()
 13:         {
 14:                 super();
 15:                 alarmHour = 0;
 16:                 alarmMinute = 0;
 17:                 alarmSecond = 0;
 18:         }
 19: 
 20:         public AlarmClock(int theHour, int theMinute, int theSecond, int alarmH, int alarmM, int alarmS)
 21:         {
 22:                 super(theHour, theMinute, theSecond);
 23:                 setAlarmHour(alarmH);
 24:                 setAlarmMinute(alarmM);
 25:                 setAlarmSecond(alarmS);
 26:         }
 27: 
 28:         //Accessors
 29:         public void setAlarmHour(int alarmH)
 30:         {
 31:                 if((alarmH >= 0) && (alarmH <= 24))
 32:                         alarmHour = alarmH;
 33:                 else
 34:                         System.out.println("Fatal error: invalid alarm hour");
 35:         }
 36: 
 37:         public void setAlarmMinute(int alarmM)
 38:         {
 39:                 if((alarmM >= 0) && (alarmM <= 59))
 40:                         alarmMinute = alarmM;
 41:                 else
 42:                         System.out.println("Fatal error: invalid alarm minute");
 43:         }
 44: 
 45:         public void setAlarmSecond(int alarmS)
 46:         {
 47:                 if((alarmS >= 0) && (alarmS <= 59))
 48:                         alarmSecond = alarmS;
 49:                 else
 50:                         System.out.println("Fatal error: invalid alarm second");
 51:         }
 52:         //Mutators
 53:         public int getAlarmHour()
 54:         {
 55:                 return alarmHour;
 56:         }
 57: 
 58:         public int getAlarmMinute()
 59:         {
 60:                 return alarmMinute;
 61:         }
 62: 
 63:         public int getAlarmSecond()
 64:         {
 65:                 return alarmSecond;
 66:         }
 67: 
 68:         public String getCurrentAlarmTime()
 69:         {
 70:                 return "The alarm is set to " + alarmHour + ":" + alarmMinute + ":" + alarmSecond;
 71:         }
 72: 
 73:         //Facilitators
 74:         public String toString()
 75:         {
 76:                 return "The current time is " + getHour() + ":" + getMinute() + ":" +
 77:                                 getSecond() + "\nThe alarm is set to " + getAlarmHour() + ":" +
 78:                                 getAlarmMinute() + ":" + getAlarmSecond();
 79:         }
 80: 
 81:         public boolean equals(Object o)
 82:         {
 83:                 if(o == null)
 84:                         return false;
 85:                 else if(getClass() != o.getClass())
 86:                         return false;
 87:                 else
 88:                 {
 89:                         AlarmClock otherClock = (AlarmClock) o;
 90:                         return((getHour() == otherClock.getHour()) && (getMinute() == otherClock.getMinute())
 91:                                         && (getSecond() == otherClock.getSecond()) && (alarmHour == otherClock.alarmHour)
 92:                                         && (alarmMinute == otherClock.alarmMinute) && (alarmSecond == otherClock.alarmSecond));
 93:                 }
 94: 
 95:         }
 96: 
 97: }