forked from gaopu/Java
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMicroWave.java
More file actions
123 lines (103 loc) · 2.76 KB
/
MicroWave.java
File metadata and controls
123 lines (103 loc) · 2.76 KB
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
import java.util.Timer;
import java.util.TimerTask;
public class MicroWave extends Thread{
private int hour;//小时数
private int minutes;//分钟数
private int second;//秒数
private boolean isRun;//是否正在运行
private boolean isPaused;//是否暂停
public MicroWave() {
hour = 0;
minutes = 0;
second = 0;
isRun = false;
isPaused = false;
}
@Override
public void run() {
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
//如果正在运行且未暂停就改变时间
if (isRun && !isPaused) {
if (second >= 1) {
second--;
} else {
second = 59;
if (minutes >= 1) {
minutes--;
} else {
minutes = 59;
if (hour >= 1) {
hour--;
} else {
hour = 0;
minutes = 0;
second = 0;
isRun = false;
}
}
}
}
}
},0,1000);
}
// 新增:切换暂停/恢复状态
public void togglePause() {
isPaused = !isPaused;
}
// 新增:设置暂停状态
public void setPaused(boolean paused) {
this.isPaused = paused;
}
// 新增:获取暂停状态
public boolean isPaused() {
return isPaused;
}
public int getHour() {
return hour;
}
public void addHour(int hour) {
this.hour += hour;
}
public int getMinutes() {
return minutes;
}
public void addMinutes(int minutes) {
this.minutes += minutes;
if (this.minutes == 60) {
this.minutes = 0;
this.hour++;
}
}
public int getSecond() {
return second;
}
public void setHour(int hour) {
this.hour = hour;
}
public void setMinutes(int minutes) {
this.minutes = minutes;
}
public void setSecond(int second) {
this.second = second;
}
public void addSecond(int second) {
this.second += second;
if (this.second == 60) {
this.second = 0;
minutes++;
if (minutes == 60) {
minutes = 0;
hour++;
}
}
}
public void setIsRun(boolean isRun) {
this.isRun = isRun;
}
public boolean isRun() {
return isRun;
}
}