Я должен создать часы, отображающие военное и обычное время в двух разных классах и время, объявленное как объекты. Это сделано, но теперь мне нужно расширить класс clock
в AMPMclock
, который имеет метод setAMPM(boolean yes)
в этом.Если setAMPM(true)
будет отображать военное время, а если оно ложно, то будет отображаться Нормальное время.Я создаю setAMPM
метод
class AMPMclock extends clock
{
boolean setAMPM(boolean yes)
{
return yes;
}
}
class clock
{
private int hours;
private int minutes;
private int seconds;
private boolean yes;
setMin....
setHour...
setSec....
tick() ///moves the clock 1sec
public String toString()
{
if(yes) return String.format("%d:%02d:%02d %s", (hours == 12 || hours == 0)?12 : hours%12, minutes, seconds, (hours < 12)? "AM" : "PM");
else return String.format("%02d:%02d:%02d",hours,minutes,seconds);
//else
}
}
MAIN
AMPMclock clockObject = new AMPMclock();
clockObject.setHour(16);
clockObject.setMin(28);
clockObject.setSec(58);
System.out.println(clockObject.toString());
clockObject.tick();
clockObject.setAMPM(false);
System.out.println(clockObject.toString());
clockObject.tick();
clockObject.setAMPM(true);
System.out.println(clockObject.toString());
clockObject.tick();
System.out.println(clockObject.toString());
Однако, когда я использую clockObject.setAMPM(true)
илиclockObject.setAMPM(false)
логическое значение yes не изменится, поэтому я могу использовать его в другом методе.Это всегда остается прежним ... Любая помощь?Tnx