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();
}
}
面向对象程序设计——Java语言——第二周作业
最新推荐文章于 2022-04-14 19:50:48 发布
该代码定义了一个Display类,用于显示0到指定限制的值,并提供递增和设置值的方法。同时,创建了一个Clock类,包含小时、分钟和秒的Display实例,实现了时钟的tick方法,每调用一次就使秒增加,当秒达到限制时回滚并递增分钟,同样分钟达到限制时递增小时。最后,Clock类覆盖了toString方法,以HH:mm:ss格式返回当前时间。
695

被折叠的 条评论
为什么被折叠?



