Reto del Reloj a Través del Espejo en Java
Hola estimado lector, estaba yo aquí en mi habitación, que se me apetecía hacer un reto de programación en Java, viendo en mi página favoritas de retos www.aceptaelreto.com , vi un reto que la verdad me llamó la atención, que era hacer que un reloj se marque en el espejo, está bastante chulo aquí os dejo el reto:

Os digo lo que hay que hacer, básicamente usar el doble de la hora actual y restarlo y cuando aparezca volver al inicio de la cuenta, es ítem tanto minutos como segundos. Aquí os dejo el algoritmo:
try {
int minutos, horas, calculoMinuto, calculoHora;
String time = «»;
Scanner sca = new Scanner(System.in);
String[] horasTime;
System.out.println(«Dígame la hora(HH:MM): «);
time = sca.nextLine();
horasTime = time.split(«:»);
horas = Integer.parseInt(horasTime[0]);
minutos = Integer.parseInt(horasTime[1]);
if (horas > 12 | horas < 0) {
throw new Exception(«»);
}
if (minutos > 59 | minutos < 0) {
throw new Exception(«»);
}
calculoMinuto = minutos * 2;
while (calculoMinuto > 0) {
if (minutos < 0) {
minutos = 59;
}
minutos = minutos – 1;
calculoMinuto = calculoMinuto – 1;
}
if (minutos < 0) {
minutos = 59;
}
calculoHora = horas * 2;
while (calculoHora > 0) {
if (horas <= 0) {
horas = 12;
}
horas = horas – 1;
calculoHora = calculoHora – 1;
}
if (horas <= 0) {
horas = 12;
}
String hora, minuto;
hora = horas + «»;
minuto = minutos + «»;
if (hora.length() == 1) {
hora = «0» + hora;
}
if (minuto.length() == 1) {
minuto = «0» + minuto;
}
System.out.println(«La hora espejo es:n » + hora + «:» + minuto);
} catch (Exception ex) {
System.out.println(«Debes de poner un patrón válido HH:MM»);
}
Si os ha gustado déjame tu comentario abajo, que me quiero enterar, un saludo y hasta pronto 🙂
