Simulacion de Reloj Programacion en Java

Publicado por Annie Menn
hace 5 años

<p><span class="ya-q-text">Hola me pueden ayudar porfavor...<br /></span></p><p><span class="ya-q-text">Simulacion de horario de un reloj<br />Como le hago para que mi programa pida al ususario ingresar una hora Inicial (hora, minuto, segundo) y una hora Final (hora, minuto, segundo) y el programa simule un reloj y avance segundo a segundo desde la hora inicial y pare asta la hora final (en un formato de 24 hrs) <br /> ejemplo: 22:59:59 debe de cambiar a 23:00:00 ó de 23:59:59 debe de cambiar a 00:00:01</span></p><p><span class="ya-q-text">NOTA:</span></p><p>Miiren tengo este programa ya echo pero solo imprime la hora inicial dada por el ususario y la hora final dada por el ususario, pero nose como hacer que de la hora Inicial avance segundo a sedundo asta detenerse en la hora final dada por el ususario en mi programa, soy principiante... por favor ayudenme.<br /></p>import java.util.Scanner;<br /> <br />public class SimulaciondeReloj{<br />        public static void main(String[] args){<br />                Scanner scan=new Scanner(System.in);<br />                //pedir y validar fecha inicial<br />                System.out.println("Ingresa la hora inicial en formato de 24 horas hh:mm:ss ");<br />                String[] horaInicialArreglo = scan.next().split(":");<br />                int hora1=Integer.parseInt(horaInicialArreglo[0]);<br />                int mins1=Integer.parseInt(horaInicialArreglo[1]);<br />                int segs1=Integer.parseInt(horaInicialArreglo[2]);<br />                if(!validarHora(hora1,mins1,segs1)){<br />                        System.out.println("¡La fecha inicial no es válida!");<br />                        System.exit(1);<br />                }<br /> <br />                //pedir y validar fecha final<br />                System.out.println("Ingresa la hora inicial en formato de 24 horas hh:mm:ss ");<br />                String[] horaFinalArreglo = scan.next().split(":");<br />                int hora2=Integer.parseInt(horaFinalArreglo[0]);<br />                int mins2=Integer.parseInt(horaFinalArreglo[1]);<br />                int segs2=Integer.parseInt(horaFinalArreglo[2]);<br />                if(!validarHora(hora2,mins2,segs2)){<br />                        System.out.println("¡La fecha final no es válida!");<br />                        System.exit(1);<br />                }<br /> <br />                //validar que la fecha inicial debe ser menor a la final<br />                if(hora1>=hora2)<br />                        if(mins1>=mins2)<br />                                if(segs1>=segs2){<br />                                        System.out.println("Error: ¡La hora FINAL debe ser MAYOR a la inicial!");<br />                                        System.exit(0);<br />                                }<br />                System.out.println("Las horas son correctas. :)");<br />        }<br /> <br />        private static boolean validarHora(int hora,int min,int seg){<br />                if((hora>=0 && hora<=23) && (min>=0 && min<=59) && (seg>=0 && seg<=59))<br />                        return true;<br />                else<br />                        return false;<br />        }<br />}

Respuesta de Elias Peraza
hace 5 años

<p>Se me ocurre un Hilo que se lanze cuando el usuario presione iniciar, y que aumente las variables: hora, minuto, segundo, Y estas, las actualizas en un label o lo que sea. Obvio no estabas esperando que alguien te dé el codigo verdad?</p>

Respuesta de Annie Menn
hace 5 años

<p>Hola</p><p>mira tengo este programa ya echo pero solo imprime la hora inicial dada por el ususario y la hora final dada por el ususario, pero nose como ponerle ese hilo que dices tu a mi programa, soy principiante...</p><p>import java.util.Scanner;<br /> <br />public class SimulaciondeReloj{<br />        public static void main(String[] args){<br />                Scanner scan=new Scanner(System.in);<br />                //pedir y validar fecha inicial<br />                System.out.println("Ingresa la hora inicial en formato de 24 horas hh:mm:ss ");<br />                String[] horaInicialArreglo = scan.next().split(":");<br />                int hora1=Integer.parseInt(horaInicialArreglo[0]);<br />                int mins1=Integer.parseInt(horaInicialArreglo[1]);<br />                int segs1=Integer.parseInt(horaInicialArreglo[2]);<br />                if(!validarHora(hora1,mins1,segs1)){<br />                        System.out.println("¡La fecha inicial no es válida!");<br />                        System.exit(1);<br />                }<br /> <br />                //pedir y validar fecha final<br />                System.out.println("Ingresa la hora inicial en formato de 24 horas hh:mm:ss ");<br />                String[] horaFinalArreglo = scan.next().split(":");<br />                int hora2=Integer.parseInt(horaFinalArreglo[0]);<br />                int mins2=Integer.parseInt(horaFinalArreglo[1]);<br />                int segs2=Integer.parseInt(horaFinalArreglo[2]);<br />                if(!validarHora(hora2,mins2,segs2)){<br />                        System.out.println("¡La fecha final no es válida!");<br />                        System.exit(1);<br />                }<br /> <br />                //validar que la fecha inicial debe ser menor a la final<br />                if(hora1>=hora2)<br />                        if(mins1>=mins2)<br />                                if(segs1>=segs2){<br />                                        System.out.println("Error: ¡La hora FINAL debe ser MAYOR a la inicial!");<br />                                        System.exit(0);<br />                                }<br />                System.out.println("Las horas son correctas. :)");<br />        }<br /> <br />        private static boolean validarHora(int hora,int min,int seg){<br />                if((hora>=0 && hora<=23) && (min>=0 && min<=59) && (seg>=0 && seg<=59))<br />                        return true;<br />                else<br />                        return false;<br />        }<br />}<br /></p>