面向对象程序设计——Java语言——第二周作业

class Display {
	private int value = 0;
	private int limit = 0;
	//private static int step = 1;
	
	public Display(int limit) {
		this.limit = limit;
	}
	
	public Display(int limit,int value) {
		this.limit=limit;
		this.value=value;
	}
	
	public void increase() {
		value++;
		if(value == limit) {
			value = 0;
		}
	}
	
	public int getValue() {
		return value;
	}
	
	public void setValue(int value) {
		this.value=value;
	}
}

class Clock {
	private Display hour = new Display(24);
	private Display minute = new Display(60);
	private Display second = new Display(60);
	
	Clock(int hh, int mm,int ss){
		this.hour = new Display(24,hh);
		this.minute = new Display(60,mm);
		this.second = new Display(60,ss);
	}
	
	public 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());
	}
}

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();

	}

}

版权声明:本文为vegetablee原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。