输入时间,输出下一秒时间
public class Main {
public static void main(String[] args)
{
java.util.Scanner in = new java.util.Scanner(System.in);
Clock clock = new Clock(in.nextInt(), in.nextInt(), in.nextInt());
clock.tick();
System.out.println(clock);
in.close();
}
}
class Clock //时间
{
private Display hour=new Display(24),minute=new Display(60),second=new Display(60);
public Clock(int hour, int minute, int second) //设置初始时间
{
this.hour.setValue(hour);
this.minute.setValue(minute);
this.second.setValue(second);
}
void tick() //时间开始走
{
second.increase();
if(second.getvalue()==0)
{
minute.increase();
if(minute.getvalue()==0)
hour.increase();
}
}
public String toString() //显示时间
{
return String.format("%02d:%02d:%02d", hour.getvalue(),minute.getvalue(),second.getvalue());
}
}
class Display //设置时间走动规则
{
private int value=0,limit=0;
void setValue(int value) //走值
{
this.value=value;
}
Display(int limit) //周期
{
this.limit=limit;
}
void increase() //走动函数
{
value++;
if(value>=limit)
value=0;
}
int getvalue() //返回走值
{
return value;
}
}