思路
分析时钟,我们可以提取出两钟对象,一种是代表显示的对象(Display),所以创建Display类来new出三个对象。
另一种是控制三者关系的对象(Clock)。
Display.java
public class Display{
private int limit=0;
private int value=0;
public Display(int limit){
this.limit=limit;
}
public void increase(){
value++;
if(value==limit){
value=0;
}
}
public int getValue(){
return value;
}
}
Clock.java
用Clock类的clock对象来控制Display的三个对象之间的关系。
具体的说,就是通过对象调用start方法使hour、minute、second满足特定关系。
public class Clock{
private Display hour=new Display(24);
private Display minute=new Display(60);
private Display second=new Display(60);
public void start() throws InterruptedException {
while(true){
second.increase();
if(second.getValue()==0){
minute.increase();
if(minute.getValue()==0){
hour.increase();
}
}
System.out.printf("%02d:%02d:%02d\n",hour.getValue(),minute.getValue(),second.getValue());
Thread.sleep(1);
}
}
public static void main(String[] args) throws InterruptedException {
Clock clock = new Clock();
clock.start();
}
}
这里用到了一个小点:让Java线程休眠
public static void main(String[] args) throws InterruptedException {
Thread.sleep(1000);//暂停1秒
}
(来源MOOC)码字不易,喜欢的话欢迎多多关注!