分析时钟,我们可以提取出两钟对象,一种是代表显示的对象(Display),所以创建Display类来new出三个对象。
另一种是控制三者关系的对象(Clock)。
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类的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)码字不易,喜欢的话欢迎多多关注!