-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathAlarmClock.java
52 lines (40 loc) · 957 Bytes
/
AlarmClock.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package jl223vy_assign3;
public class AlarmClock {
/* Current time */
private int hours = 0;
private int minutes = 0;
/* Alarm Properties */
private int alarmHour = 0;
private int alarmMinute = 0;
private boolean alarmOn = false;
public AlarmClock(int h, int m) {
hours = h;
minutes = m;
}
public void displayTime() {
System.out.println("Time: "+hours+" hours, "+minutes+" minutes");
}
public void setAlarm(int h, int m) {
alarmHour = h;
alarmMinute = m;
alarmOn = true;
}
public void displayAlarmTime() {
System.out.println("Alarm Time: "+alarmHour+" hours, "+alarmMinute+" minutes");
}
public void timeTick() {
minutes = minutes + 1;
if (minutes == 60) {
hours = hours + 1;
minutes = 0;
}
if (hours == 24) {
hours = 0;
}
checkAlarm();
}
private void checkAlarm() {
if (alarmOn && minutes==alarmMinute && hours==alarmHour)
System.out.println("Wake up! Time to go!");
}
}