Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I need help solving the following errors in my code. ERRORS: Clock 330 (05:30),

ID: 3872667 • Letter: I

Question

I need help solving the following errors in my code.

ERRORS:

Clock 330 (05:30), alarm 345 (05:45), should sound after advancing 15 minutes. Should not be sounding before advancing time. expected:<false> but was:<true>

Turning off alarm should stop sounding. Should not be sounding before advancing time. expected:<false> but was:<true> Setting clock time should not stop sounding. Should not be sounding before advancing time. expected:<false> but was:<true>

Clock 330 (05:30), alarm 330 (05:30), should sound after advancing 1440 minutes. expected:<true> but was:<false>

JAVA CODE:

package hw2;

public class ClockRadio {

   public static final int MINUTES_PER_DAY = 1440;

   public static final int SNOOZE_MINUTES = 9;

  

   private int clockMinute, clockHour, alarmMinute, alarmHour = 1;

  

   private int origClockTime, origAlarmTime;

  

   private boolean isOn = false, useRadio, isBuzzing, isSounding;

  

   private boolean twentyFourHourDisplay = true;

  

   private boolean isPlayingRadio;

  

   private boolean isPMClock, isPMAlarm;

  

   private int advancedTime;

  

   private int alarmTime, clockTime, rawClockTime, rawAlarmTime, rawAlarmTimeEffective;

  

   private int snoozeTime = 0;

  

   private int givenTimePastMidnight;

  

   public ClockRadio() {

   }

  

   public ClockRadio(int givenMinutesPastMidnight) {

       givenTimePastMidnight = givenMinutesPastMidnight;

       origClockTime = givenMinutesPastMidnight;

       if (twentyFourHourDisplay == true) {

           clockMinute = givenMinutesPastMidnight % 60;

           clockHour = givenMinutesPastMidnight / 60;

       }

       else if (twentyFourHourDisplay == false) {

           if ((givenTimePastMidnight / 720) >= 1) {

               isPMClock = true;

               clockHour = (givenTimePastMidnight - 720) / 60;

               clockMinute = (givenTimePastMidnight - 720) % 60;

           }

       }

   }

  

   public void advanceTime(int givenMinutes) {

       givenMinutes = givenMinutes % MINUTES_PER_DAY;

       clockHour += givenMinutes / 60;

       clockMinute += givenMinutes % 60;

       advancedTime = givenMinutes;

   }

  

   public void advanceTime(int givenHours, int givenMinutes) {

       clockHour = clockHour + givenHours;

       clockMinute = clockMinute + givenMinutes;

       advancedTime = givenMinutes + (givenHours * 60);

   }

  

   public void alarmDisabled() {

       isOn = false;

       isSounding = false;

       rawAlarmTimeEffective = rawAlarmTime;

   }

  

   public void    alarmEnabled() {

       isOn = true;

   }

  

   public java.lang.String getAlarmTimeAsString() {

       if (isPMAlarm == true && twentyFourHourDisplay == false) {

           return String.format("%02d:%02d", alarmHour, alarmMinute + " PM");

       }

       else if (isPMAlarm == false && twentyFourHourDisplay == false) {

           return String.format("%02d:%02d", alarmHour, alarmMinute + " AM");

       }

       else {

           return String.format("%02d:%02d", alarmHour, alarmMinute);

       }

   }

      

   public int getAlarmTimeRaw() {

       rawAlarmTime = ((alarmHour * 60) + alarmMinute);

       rawAlarmTime = rawAlarmTime % MINUTES_PER_DAY;

       return rawAlarmTime;

   }

      

   public java.lang.String getClockTimeAsString() {

       if (isPMClock == true && twentyFourHourDisplay == false) {

           return String.format("%02d:%02d", clockHour, clockMinute + " PM");

       }

       else if (isPMClock == false && twentyFourHourDisplay == false) {

           return String.format("%02d:%02d", clockHour, clockMinute + " AM");

       }

       else {

           return String.format("%02d:%02d", clockHour, clockMinute);

       }

   }

      

   public int getClockTimeRaw() {

       rawClockTime = ((clockHour * 60) + clockMinute);

       rawClockTime = rawClockTime % MINUTES_PER_DAY;

       return rawClockTime;

   }

      

   public java.lang.String getEffectiveAlarmTimeAsString() {

       return String.format("%02d:%02d", alarmHour, alarmMinute);

   }

  

   public int getEffectiveAlarmTimeRaw() {

       rawAlarmTimeEffective = (rawAlarmTime) + snoozeTime;

       rawAlarmTimeEffective = rawAlarmTimeEffective % MINUTES_PER_DAY;

       return rawAlarmTimeEffective;  

   }

  

   public boolean isBuzzing() {

       if (isOn == true && useRadio == false && rawClockTime != rawAlarmTime) {

           if ((rawAlarmTimeEffective - rawClockTime) <= advancedTime) {

               isBuzzing = true;

           }

           else if ((1440 - (rawClockTime - rawAlarmTimeEffective)) <= advancedTime) {

               isBuzzing = true;

           }

       }

       else {

           isBuzzing = false;

       }

       return isBuzzing;

   }

      

   public boolean isPlayingRadio() {

       if (isOn == true && useRadio == true && rawClockTime != rawAlarmTime) {

           if ((rawAlarmTimeEffective - rawClockTime) <= advancedTime) {

               isPlayingRadio = true;

           }

           else if ((1440 - (rawClockTime - rawAlarmTimeEffective)) <= advancedTime) {

               isPlayingRadio = true;

           }

       }

       else {

           isPlayingRadio = false;

       }

       return isPlayingRadio;

   }

      

   public boolean isSounding() {

       if (isOn == true) {

           if (this.isBuzzing() == true || this.isPlayingRadio() == true) {

               isSounding = true;

           }

           else {

               isSounding = false;

           }

       }

       else if (isOn == false) {

           isSounding = false;

       }

       return isSounding;  

   }

      

   public void set24HourDisplay(boolean use24HourDisplay) {

       twentyFourHourDisplay = true;

   }

      

   public void setAlarmTime(int givenMinutesPastMidnight) {

       alarmMinute = givenMinutesPastMidnight % 60;

       alarmHour = givenMinutesPastMidnight / 60;

       if (((givenMinutesPastMidnight) % MINUTES_PER_DAY) >= 720) {

           isPMAlarm = true;

       }

       else {

           isPMAlarm = false;

       }

   }

      

   public void setAlarmTime(int givenHours, int givenMinutes, boolean isPm) {

       alarmHour = givenHours;

       alarmMinute = givenMinutes;

       if (alarmHour >= 12) {

           isPMAlarm = true;

       }

       else {

           isPMAlarm = false;

       }

   }

      

   public void setRadioMode(boolean useRadio) {

       useRadio = true;

   }

      

   public void setTime(int givenMinutesPastMidnight) {

       givenMinutesPastMidnight = givenMinutesPastMidnight % 1440;

       clockMinute = givenMinutesPastMidnight % 60;

       clockHour = givenMinutesPastMidnight / 60;

       if (givenMinutesPastMidnight >= 720) {

           isPMClock = true;

       }

       else {

           isPMClock = false;

       }

   }

      

   public void setTime(int givenHours, int givenMinutes, boolean isPm) {

           clockHour = givenHours;

           clockMinute = givenMinutes;

           isPMClock = isPm;

   }

      

   public void snooze() {

           snoozeTime = snoozeTime + SNOOZE_MINUTES;

   }

}

Explanation / Answer

package hw2;

public class ClockRadio {

   public static final int MINUTES_PER_DAY = 1440;

   public static final int SNOOZE_MINUTES = 9;

  

   private int clockMinute, clockHour, alarmMinute, alarmHour = 1;

  

   private int origClockTime, origAlarmTime;

  

   private boolean isOn = false, useRadio, isBuzzing, isSounding;

  

   private boolean twentyFourHourDisplay = true;

  

   private boolean isPlayingRadio;

  

   private boolean isPMClock, isPMAlarm;

  

   private int advancedTime;

  

   private int alarmTime, clockTime, rawClockTime, rawAlarmTime, rawAlarmTimeEffective;

  

   private int snoozeTime = 0;

  

   private int givenTimePastMidnight;

  

   public ClockRadio() {

   }

  

   public ClockRadio(int givenMinutesPastMidnight) {

       givenTimePastMidnight = givenMinutesPastMidnight;

       origClockTime = givenMinutesPastMidnight;

       if (twentyFourHourDisplay == true) {

           clockMinute = givenMinutesPastMidnight % 60;

           clockHour = givenMinutesPastMidnight / 60;

       }

       else if (twentyFourHourDisplay == false) {

           if ((givenTimePastMidnight / 720) >= 1) {

               isPMClock = true;

               clockHour = (givenTimePastMidnight - 720) / 60;

               clockMinute = (givenTimePastMidnight - 720) % 60;

           }

       }

   }

  

   public void advanceTime(int givenMinutes) {

       givenMinutes = givenMinutes % MINUTES_PER_DAY;

       clockHour += givenMinutes / 60;

       clockMinute += givenMinutes % 60;

       advancedTime = givenMinutes;

   }

  

   public void advanceTime(int givenHours, int givenMinutes) {

       clockHour = clockHour + givenHours;

       clockMinute = clockMinute + givenMinutes;

       advancedTime = givenMinutes + (givenHours * 60);

   }

  

   public void alarmDisabled() {

       isOn = false;

       isSounding = false;

       rawAlarmTimeEffective = rawAlarmTime;

   }

  

   public void    alarmEnabled() {

       isOn = true;

   }

  

   public java.lang.String getAlarmTimeAsString() {

       if (isPMAlarm == true && twentyFourHourDisplay == false) {

           return String.format("%02d:%02d", alarmHour, alarmMinute + " PM");

       }

       else if (isPMAlarm == false && twentyFourHourDisplay == false) {

           return String.format("%02d:%02d", alarmHour, alarmMinute + " AM");

       }

       else {

           return String.format("%02d:%02d", alarmHour, alarmMinute);

       }

   }

      

   public int getAlarmTimeRaw() {

       rawAlarmTime = ((alarmHour * 60) + alarmMinute);

       rawAlarmTime = rawAlarmTime % MINUTES_PER_DAY;

       return rawAlarmTime;

   }

      

   public java.lang.String getClockTimeAsString() {

       if (isPMClock == true && twentyFourHourDisplay == false) {

           return String.format("%02d:%02d", clockHour, clockMinute + " PM");

       }

       else if (isPMClock == false && twentyFourHourDisplay == false) {

           return String.format("%02d:%02d", clockHour, clockMinute + " AM");

       }

       else {

           return String.format("%02d:%02d", clockHour, clockMinute);

       }

   }

      

   public int getClockTimeRaw() {

       rawClockTime = ((clockHour * 60) + clockMinute);

       rawClockTime = rawClockTime % MINUTES_PER_DAY;

       return rawClockTime;

   }

      

   public java.lang.String getEffectiveAlarmTimeAsString() {

       return String.format("%02d:%02d", alarmHour, alarmMinute);

   }

  

   public int getEffectiveAlarmTimeRaw() {

       rawAlarmTimeEffective = (rawAlarmTime) + snoozeTime;

       rawAlarmTimeEffective = rawAlarmTimeEffective % MINUTES_PER_DAY;

       return rawAlarmTimeEffective;  

   }

  

   public boolean isBuzzing() {

       if (isOn == true && useRadio == false && rawClockTime != rawAlarmTime) {

           if ((rawAlarmTimeEffective - rawClockTime) <= advancedTime) {

               isBuzzing = true;

           }

           else if ((1440 - (rawClockTime - rawAlarmTimeEffective)) <= advancedTime) {

               isBuzzing = true;

           }

       }

       else {

           isBuzzing = false;

       }

       return isBuzzing;

   }

      

   public boolean isPlayingRadio() {

       if (isOn == true && useRadio == true && rawClockTime != rawAlarmTime) {

           if ((rawAlarmTimeEffective - rawClockTime) <= advancedTime) {

               isPlayingRadio = true;

           }

           else if ((1440 - (rawClockTime - rawAlarmTimeEffective)) <= advancedTime) {

               isPlayingRadio = true;

           }

       }

       else {

           isPlayingRadio = false;

       }

       return isPlayingRadio;

   }

      

   public boolean isSounding() {

       if (isOn == true) {

           if (this.isBuzzing() == true || this.isPlayingRadio() == true) {

               isSounding = true;

           }

           else {

               isSounding = false;

           }

       }

       else if (isOn == false) {

           isSounding = false;

       }

       return isSounding;  

   }

      

   public void set24HourDisplay(boolean use24HourDisplay) {

       twentyFourHourDisplay = true;

   }

      

   public void setAlarmTime(int givenMinutesPastMidnight) {

       alarmMinute = givenMinutesPastMidnight % 60;

       alarmHour = givenMinutesPastMidnight / 60;

       if (((givenMinutesPastMidnight) % MINUTES_PER_DAY) >= 720) {

           isPMAlarm = true;

       }

       else {

           isPMAlarm = false;

       }

   }

      

   public void setAlarmTime(int givenHours, int givenMinutes, boolean isPm) {

       alarmHour = givenHours;

       alarmMinute = givenMinutes;

       if (alarmHour >= 12) {

           isPMAlarm = true;

       }

       else {

           isPMAlarm = false;

       }

   }

      

   public void setRadioMode(boolean useRadio) {

       useRadio = true;

   }

      

   public void setTime(int givenMinutesPastMidnight) {

       givenMinutesPastMidnight = givenMinutesPastMidnight % 1440;

       clockMinute = givenMinutesPastMidnight % 60;

       clockHour = givenMinutesPastMidnight / 60;

       if (givenMinutesPastMidnight >= 720) {

           isPMClock = true;

       }

       else {

           isPMClock = false;

       }

   }

      

   public void setTime(int givenHours, int givenMinutes, boolean isPm) {

           clockHour = givenHours;

           clockMinute = givenMinutes;

           isPMClock = isPm;

   }

      

   public void snooze() {

           snoozeTime = snoozeTime + SNOOZE_MINUTES;

   }

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote