what to do here?
in requirements it says second count cant be greater than 59, if i do that the program's still not verifying and it says minutes cant be greater than 59 but the passed value is already 59 and in the requirements it is mentioned that if seconds counter is 59 than increment minutes, if i do that minutes counter will be 60 and thus this also negates the requirements
package com.codegym.task.task16.task1613;
/*
Big Ben
*/
public class Solution {
public static volatile boolean isStopped = false;
public static void main(String[] args) throws InterruptedException {
Clock clock = new Clock("London", 23, 59, 57);
Thread.sleep(4000);
isStopped = true;
Thread.sleep(1000);
}
public static class Clock extends Thread {
private String cityName;
private int hours;
private int minutes;
private int seconds;
public Clock(String cityName, int hours, int minutes, int seconds) {
this.cityName = cityName;
this.hours = hours;
this.minutes = minutes;
this.seconds = seconds;
start();
}
public void run() {
try {
while (!isStopped) {
printTime();
}
} catch (InterruptedException e) {
}
}
private void printTime() throws InterruptedException {
if(seconds<=60){
Thread.sleep(1000);
seconds++;
if(seconds==60){
seconds=0;
minutes=0;
hours=0;
}
}
if (hours == 0 && minutes == 0 && seconds == 0) {
System.out.println(String.format("It's currently midnight in %s!", cityName));
} else {
System.out.println(String.format("In %s, the time is now %02d:%02d:%02d!", cityName, hours, minutes, seconds));
}
}
}
}