我正在尝试用 Java 解决一个练习,但我一无所获:
实现 play 方法,该方法将播放媒体对象秒。此方法的实现只会根据持续时间将经过的秒数序列写入控制台,直到它完成。例如,如果它持续 70 秒(1 分 10 秒),它将写入:00:00:01—00:00:02—00:00:03—00:00:04 --...-00: 00:59 —00:01:00 ... 00:01:10 [结束]
static void reproducir(int duracion) {
int horas = 00;
int minutos = 00;
int segundos = 00;
final int N = 59;
int i;
for (i = 0; i <= duracion; i++) {
if (segundos == N) {
segundos = 0;
minutos++;
}
if (minutos == N) {
minutos = 0;
horas++;
}
segundos++;
System.out.printf("%02d:%02d:%02d - ", horas, minutos, segundos);
}
System.out.print("Fin de la reproducción");
}
审查后的工作方法。
我知道这是一个模拟,它并没有真正计算时间的流逝。
您需要根据经过的时间计算分钟和小时。这将是您的功能:
秒是从 0 到 59,所以
segundos = totalSegundos % 60
.每 60 秒有一分钟,所以
minutos = totalSegundos / 60
. 此外,分钟是从 0 到 59,所以我们对出来的分钟做模 60。每 3600 秒 (60 * 60) 有一个小时,所以
horas = totalSegundos / 3600