Я новичок в stackoverflow, и он мне очень помог в моем первом семестре Java. Недавно я столкнулся с проблемой, что я не мог найти помощь нигде. Посмотрев практически все потоки stackoverflow и другие сайты, я решил спросить здесь. Буду очень признателен за любую помощь в этом.
В моем домашнем задании говорится, что нам нужно создать цифровые часы, которые будут вводить пользовательские часы, минуты и секунды после вызова функции в Main. Затем следует вывести это время и продолжить увеличивать время. Инструкции дали подсказку, чтобы взять разницу во времени с текущим временем, но я не мог получить правильное время таким образом. Это мой текущий код для функций setTime и displayTime:
public void setTime(int InsertHours, int InsertMinutes, int InsertSeconds) {
minutes = InsertMinutes;
hours = InsertHours;
seconds = InsertSeconds;
currentTime.set(Calendar.HOUR, hours);
currentTime.set(Calendar.MINUTE, minutes);
currentTime.set(Calendar.SECOND, seconds);
}
public void displayTime()
{
SimpleDateFormat newTimeFormat = new SimpleDateFormat("hh:mm:ss a");
timeDiff = Math.abs(currentTime.getTimeInMillis() - System.currentTimeMillis());
System.out.print("The current time after setTime: " + newTimeFormat.format(timeDiff));
}
}
Если я вызываю функцию вот так (без часов: текст)
d.setTime(hours: 10, minutes: 25, seconds: 56);
Вывод:
The current time after setTime: 07:42:22 PM
и он будет отсчитывать в обратном направлении. Так что это будет с 7:42:22 до 7:42:19 и так далее. Я хотел бы, чтобы это вывело 10:25:56 и продолжало считать, но я потратил несколько часов на это и не могу понять это. Я заметил, что другие делают это с отдельной функцией timeTick (), но я бы хотел избежать каких-либо дополнительных функций, а не setTime и displayTime.
Я очень признателен за любую помощь с этим. Спасибо!