Java - hola Simulacion Reloj Programar en Java

   
Vista:
Imágen de perfil de Annie

hola Simulacion Reloj Programar en Java

Publicado por Annie (23 intervenciones) el 03/05/2015 05:51:24
hola porfavor me pueden ayudar? 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)
ejemplo: 22:59:59 debe de cambiar a 23:00:00 ó de 23:59:59 debe de cambiar a 00:00:01

NOTA:
ya habia echo este programa pero solo imprime la hora inicial dada por el ususario y la hora final y necesito que avance desde la hora inicial dada por el ususario segundo a segundo y se detenga en la hora final dada por el ususario :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import java.util.Scanner;
public class SimulaciondeReloj{
        public static void main(String[] args){
                Scanner scan=new Scanner(System.in);
                //pedir y validar fecha inicial
                System.out.println("Ingresa la hora inicial en formato de 24 horas hh:mm:ss ");
                String[] horaInicialArreglo = scan.next().split(":");
                int hora1=Integer.parseInt(horaInicialArreglo[0]);
                int mins1=Integer.parseInt(horaInicialArreglo[1]);
                int segs1=Integer.parseInt(horaInicialArreglo[2]);
                if(!validarHora(hora1,mins1,segs1)){
                        System.out.println("¡La fecha inicial no es válida!");
                        System.exit(1);
                }
 
                //pedir y validar fecha final
                System.out.println("Ingresa la hora inicial en formato de 24 horas hh:mm:ss ");
                String[] horaFinalArreglo = scan.next().split(":");
                int hora2=Integer.parseInt(horaFinalArreglo[0]);
                int mins2=Integer.parseInt(horaFinalArreglo[1]);
                int segs2=Integer.parseInt(horaFinalArreglo[2]);
                if(!validarHora(hora2,mins2,segs2)){
                        System.out.println("¡La fecha final no es válida!");
                        System.exit(1);
                }
 
                //validar que la fecha inicial debe ser menor a la final
                if(hora1>=hora2)
                        if(mins1>=mins2)
                                if(segs1>=segs2){
                                        System.out.println("Error: ¡La hora FINAL debe ser MAYOR a la inicial!");
                                        System.exit(0);
                                }
                System.out.println("Las horas son correctas. :)");
        }
 
        private static boolean validarHora(int hora,int min,int seg){
                if((hora>=0 && hora<=23) && (min>=0 && min<=59) && (seg>=0 && seg<=59))
                        return true;
                else
                        return false;
        }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Fernando

hola Simulacion Reloj Programar en Java

Publicado por Fernando (82 intervenciones) el 06/05/2015 19:05:43
en esta pagina esta como hacer el reloj solo modificas el codigo de donde toma la hora del sistema y remplazalo por la variable de hora de inicio y metelo en un while para la hora de parada http://www.tututorial.com/2013/04/tutorial-como-hacer-un-reloj-en-java.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

hola Simulacion Reloj Programar en Java

Publicado por Maverick (96 intervenciones) el 06/05/2015 22:09:16
Hola Annie,

Disculpa la demora en contestar, aquí te paso un código por ahí te sirve, cualquier cosa no dudes en comunicarte al

oscardelphi@gmail.com

Saludos cordiales,

Maverick
Lima-Peru

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
package cjava.util;
 
import java.util.Scanner;
 
public class SimulaciondeReloj {
 
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		// pedir y validar fecha inicial
		System.out
				.println("Ingresa la hora inicial en formato de 24 horas hh:mm:ss ");
		String[] horaInicialArreglo = scan.next().split(":");
		int hora1 = Integer.parseInt(horaInicialArreglo[0]);
		int mins1 = Integer.parseInt(horaInicialArreglo[1]);
		int segs1 = Integer.parseInt(horaInicialArreglo[2]);
		if (!validarHora(hora1, mins1, segs1)) {
			System.out.println("¡La fecha inicial no es válida!");
			System.exit(1);
		}
 
		// pedir y validar fecha final
		System.out
				.println("Ingresa la hora inicial en formato de 24 horas hh:mm:ss ");
		String[] horaFinalArreglo = scan.next().split(":");
		int hora2 = Integer.parseInt(horaFinalArreglo[0]);
		int mins2 = Integer.parseInt(horaFinalArreglo[1]);
		int segs2 = Integer.parseInt(horaFinalArreglo[2]);
		if (!validarHora(hora2, mins2, segs2)) {
			System.out.println("¡La fecha final no es válida!");
			System.exit(1);
		}
 
		// validar que la fecha inicial debe ser menor a la final
		if (hora1 >= hora2)
			if (mins1 >= mins2)
				if (segs1 >= segs2) {
					System.out
							.println("Error: ¡La hora FINAL debe ser MAYOR a la inicial!");
					System.exit(0);
				}
		System.out.println("Las horas son correctas. :)");
 
		Clock reloj = new Clock();
 
		reloj.setTime(hora1, mins1, segs1);
		boolean continua = true;
		while (continua) {
			reloj.incrementSeconds();
			reloj.printTime();
			if (reloj.getHours() == hora2 && reloj.getMinutes() == mins2 && reloj.getSeconds() == segs2) {
				continua = false;
			}
		}
	}
 
	private static boolean validarHora(int hora, int min, int seg) {
		if ((hora >= 0 && hora <= 23) && (min >= 0 && min <= 59)
				&& (seg >= 0 && seg <= 59))
			return true;
		else
			return false;
	}
 
	private static class Clock {
		private int hr; // store hours
		private int min; // store minutes
		private int sec; // store seconds
 
		public Clock() {
			setTime(0, 0, 0);
		}
 
		@SuppressWarnings("unused")
		public Clock(int hours, int minutes, int seconds) {
			setTime(hours, minutes, seconds);
		}
 
		public void setTime(int hours, int minutes, int seconds) {
			if (0 <= hours && hours < 24)
				hr = hours;
			else
				hr = 0;
 
			if (0 <= minutes && minutes < 60)
				min = minutes;
			else
				min = 0;
 
			if (0 <= seconds && seconds < 60)
				sec = seconds;
			else
				sec = 0;
		}
 
		// Method to return the hours
		public int getHours() {
			return hr;
		}
 
		// Method to return the minutes
		public int getMinutes() {
			return min;
		}
 
		// Method to return the seconds
		public int getSeconds() {
			return sec;
		}
 
		public void printTime() {
			if (hr < 10)
				System.out.print("0");
			System.out.print(hr + ":");
			if (min < 10)
				System.out.print("0");
			System.out.print(min + ":");
			if (sec < 10)
				System.out.print("0");
			System.out.print(sec+"\n");
		}
 
		// The time is incremented by one second
		// If the before-increment time is 23:59:59, the time
		// is reset to 00:00:00
		public void incrementSeconds() {
			sec++;
 
			if (sec > 59) {
				sec = 0;
				incrementMinutes(); // increment minutes
			}
		}
 
		// /The time is incremented by one minute
		// If the before-increment time is 23:59:53, the time
		// is reset to 00:00:53
		public void incrementMinutes() {
			min++;
 
			if (min > 59) {
				min = 0;
				incrementHours(); // increment hours
			}
		}
 
		public void incrementHours() {
			hr++;
 
			if (hr > 23)
				hr = 0;
		}
 
		@SuppressWarnings("unused")
		public boolean equals(Clock otherClock) {
			return (hr == otherClock.hr && min == otherClock.min && sec == otherClock.sec);
		}
	}
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de JennAnn

hola Simulacion Reloj Programar en Java

Publicado por JennAnn (23 intervenciones) el 19/05/2015 22:44:19
muchas gracias por ayudarme, me sirvio mucho, que pasen buen dia! :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar