java翁恺——第二周编程

题目

有秒表的计时时钟

代码

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 Display
{
	private int value = 0;
	private int limit = 0;
 
	public Display(int limit)
	{
		this.limit = limit;
	}
	public void setValue(int value)
	{
		this.value = value;
	}
	public void increase()
	{
		value++;
		if(value == limit)
		{
			value = 0;
		}
	}
	
	public int getValue()
	{
		return value;
	}
}
 
class Clock 
{
	private Display hour = new Display(24);
	private Display minute = new Display(60);
	private Display second = new Display(60);
	public Clock(int h,int m,int s)
	{
		hour.setValue(h);
		minute.setValue(m);
		second.setValue(s);
	}
	
	public void tick()
	{
		second.increase();
		if(second.getValue() == 0)
		{
			minute.increase();
			if(minute.getValue() == 0)
				hour.increase();
		}
	}
	
	public String toString()
	{
		String s = String.format("%02d:%02d:%02d",hour.getValue(),minute.getValue(),second.getValue());
		return s;
	}
}

你可能感兴趣的:(java翁恺学习笔记)