un objeto no actualiza su tiempo como debería
Publicado por smn (25 intervenciones) el 15/09/2020 21:57:26
Muy buenas a todos, tengo problemas con un codigo que en parte no funciona como deberia tengo 2 clases reloj y radioreloj, reloj me permite crear un objeto reloj y radioreloj un objeto radio con un objeto reloj y lo que pasa es que cuando agrego el objeto al radioreloj cuando su tiempo llega a 24:59:59 deberia actualizarse a 00:00:00 y lo que pasa es que si se actualizan todos pero no como deberian el tiempo me esta quedando asi 25:00:00.
lo raro es que si creo un objeto reloj desde el main el tiempo si actualiza como debe.
// Metodo de la clase reloj
// Metodo de la clase radioreloj
// Este es el main
lo raro es que si creo un objeto reloj desde el main el tiempo si actualiza como debe.
// Metodo de la clase reloj
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
public void crearReloj(){
Scanner input = new Scanner(System.in);
while(true){
try{
System.out.println("Ingrese la hora");
this.hora = input.nextInt();
if(this.hora < 0 || this.hora > 24){
System.out.println("Ingreso una hora incorrecta o fuera del limite permitido(0-24)");
continue;
}else{
System.out.println("Hora ingresada correctamente");
break;
}
}catch(Exception e){
System.out.println("Por favor solo ingrese numeros");
input.nextLine();
}
}while(true){
try{
System.out.println("Ingrese minutos");
this.minutos = input.nextInt();
if(this.minutos < 0 || this.minutos > 60){
System.out.println("Ingrese una cantidad de minutos incorrecto o que esta fuera del rango(0-60)");
continue;
}else{
System.out.println("Minutos ingresados correctamente");
break;
}
}catch(Exception e){
System.out.println("Por favor solo ingrese numeros");
input.nextLine();
}
}while(true){
try{
System.out.println("Ingrese segundos");
this.segundos = input.nextInt();
if(this.segundos < 0 || this.segundos > 60){
System.out.println("Ingreso una cantidad de segundos incorrectos o que esta fuera del rango(0-60)");
continue;
}else{
System.out.println("Segundos ingresados correctamente");
break;
}
}catch(Exception e){
System.out.println("Por favor solo ingrese numeros");
input.nextLine();
}
}
Reloj reloj = new Reloj(this.hora,this.minutos,this.segundos);
// Metodo de la clase radioreloj
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
public void crearImprimir(ArrayList lista){
Reloj rl = new Reloj();
Scanner input = new Scanner(System.in);
int cl = 0;
double ps = 0;
boolean ori;
String[] colores = {"Blanco","Negro","Azul","Rojo","Amarillo","Verde","Rosado"};
while(true){
try{
System.out.println("Seleccione un color\n1 - Blanco\n2 - Negro\n3 - Azul\n4 - Rojo\n5 - Amarillo\n6 - Verde\n7 - Rosado");
cl = input.nextInt();
if(cl < 0 || cl > 7){
System.out.println("Ingresa una opcion correcta");
continue;
}else{
System.out.println("Seleccionaste el color: " + colores[cl - 1]);
break;
}
}catch(Exception e){
System.out.println("Por favor ingrese solo numeros");
input.nextLine();
}
}
while(true){
try{
System.out.println("Ingrese el peso del Radio Reloj");
ps = input.nextDouble();
}catch(Exception e){
System.out.println("Por favor ingrese un peso correcto");
input.nextLine();
continue;
}
System.out.println("Peso ingresado correctamente: " + ps);
break;
}
while(true){
try{
System.out.println("Ingrese (true o false) para conocer la autenticidad del radio reloj");
ori = input.nextBoolean();
}catch(Exception e){
System.out.println("Por favor ingrese una de estas dos opciones (true o false)");
input.nextLine();
continue;
}
System.out.println("La radio reloj es: " + ori);
break;
}
rl.crearReloj();
RadioReloj rdl = new RadioReloj(colores[cl - 1],ps,ori,rl.toString());
lista.add(rdl);
System.out.println(rdl);
}
// Este es el main
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
ArrayList<RadioReloj> lista = new ArrayList();
RadioReloj radioRelojBase = new RadioReloj();
Reloj relojCreado = new Reloj(0,0,0);
Reloj relojUniversal = new Reloj(23, 59, 58);
Scanner input = new Scanner(System.in);
int opcion = 0;
while(opcion != 2){
relojUniversal.imprimirHora();
System.out.println("Seleccione una opcion\n1- Tienda\n2 - Salir");
try{
opcion = input.nextInt();
if(opcion == 1){
relojUniversal.imprimirHora();
int opcionDos = 0;
while(opcionDos != 6){
System.out.println("Bienvenido a la tienda de relojes.\nSelecione una opcion\n1 - Crear Radio Reloj\n2 - Mostrar Radio Reloj\n3 - Eliminar Radio Reloj\n4 - Pintar Radio Reloj\n5 - Comprar Radio Reloj\n6 - Salir");
opcionDos = input.nextInt();
if(opcionDos == 1){
relojUniversal.imprimirHora();
radioRelojBase.crearImprimir(lista);
}else if(opcionDos == 2){
relojUniversal.imprimirHora();
System.out.println("Radio Relojes");
for(int i=0; i<lista.size(); i ++){
System.out.println(lista.get(i));
}
}else if(opcionDos == 3){
relojUniversal.imprimirHora();
radioRelojBase.eliminarRadioReloj(lista);
Valora esta pregunta


0