Как я могу использовать modulous для преобразования секунд в часы, минуты и секунды? - PullRequest
0 голосов
/ 05 ноября 2019

Мой учитель назначил мне это домашнее задание, и ее подсказка «Напишите программу, которая позволяет пользователю вводить количество секунд. Программа должна рассчитать эквивалентное количество часов, минут и секунд. Пример: 9999 секунд = 2 часа, 46 минут и 39 секунд. Мод - ваш друг. Я пытаюсь использовать JOptionPane с этим.

Я пробовал много других способов, но ни один из них не работает. Когда я вставляю 2, это приводит ккак 2 часа.

Я ожидаю, когда я введу 2, это будет 2 секунды, а не часы!

1 Ответ

2 голосов
/ 05 ноября 2019

Я подозреваю, что вы хотите сделать что-то вроде этого: Задано n секунд, переменные часы, переменные минуты, переменные секунды

seconds = n%60;
minutes = (n-seconds)%3600;
//we use subtract seconds that have already been allocated
//Mod by 3600 here because this is the number of seconds in 1 hour, so the remainder will not fit into an hour
minutes = minutes/60; //convert seconds to minutes
hours = (n - minutes*60 - seconds) / 3600; //seconds remaining/seconds in an hour

Это решение работает с использованием мода и должно работать в течение 2 секунд. Возможно, вам придется добавить некоторые условные операторы IF, чтобы убедиться, что вы не получите ошибку, делящую 0, хотя.

...