也找过论坛上其他答主的代码来运行,还是不行,不知道是什么原因,以为自己不打算交作业,所以没按照作业规范写在一个文件里。
//文件1:
package Main;
public class Clock {
private Display hour=new Display(24);
private Display minute=new Display(60);
private Display second=new Display(60);
public Clock(int hour, int minute, int second)
{
this.hour.value=hour;//这里的hour是指从main函数传入Clock构造函数的hour值,而this是用来指向Display hour这个对象的
this.minute.value=minute;
this.second.value=second;}
public void tick()
{
while(true)
{ second.increase();
if(second.getValue()==0) {
minute.increase();
if(minute.getValue()==0) {
hour.increase();
}
}
}
}
public String toString()
{
return String.format("%02d:%02d:%02d\n",hour,minute,second);
}
}
//文件2:
package Main;
public class Display {
int value=0;
private int limit=0;
public Display(int limit) {
this.limit=limit;
}
public void increase() {
value++;
if(value==limit) {
value=0;
}
}
public int getValue() {
return value;
}
public static void main(String[] args) {
Display d=new Display(23);
for(;;)
{
d.increase();
System.out.println(d.getValue());
}
}
}
//文件3:
package Main;
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();
}
}