Java - Clase calendario

 
Vista:

Clase calendario

Publicado por Santiago (1 intervención) el 27/11/2007 16:57:59
Lo que quiero hacer con este metodo es, calcular las horas de trabajadas de un chofer, que tiene una jornada laboral de 12 horas.

// inicializo la variable de instancia
public Chofer()
{
turno = new GregorianCalendar();
}

public boolean horasTrabajadas()
{
boolean termino;
//inicializo variable local del tipo calendario
Calendar horas = Calendar.getInstance();
horas = turno;
//le agrego 12 horas a la variable, para tener el horario de salida
horas.add(Calendar.HOUR_OF_DAY,12);
Calendar horaActual = Calendar.getInstance();

//comparo la hora actual con la hora de salida
if (horaActual.compareTo(horas) >= 0)
{
System.out.println("Termino el turno a las " + horaActual.get(Calendar.HOUR));
termino = true;
}
else
{
System.out.println("Todavia no termino el turno");
termino = false;
}
return termino;
}

EL PROBLEMA CON ESTO ES QUE CUANDO LLAMO AL METODO, LA VARIABLE "TURNO" ME TOMA LA HORA EN QUE EJECUTE EL METODO, Y NO LA HORA DE CUANDO CREO EL OBJETO.

SI ALGUIEN ME PUEDE DECIR COMO HACER PARA QUE LA VARIABLE DE INSTANCIA AGARRE LA HORA EN EL MOMENTO DE CREAR EL OBJETO Y QUEDE ASI, ME HARIA UN GRAN FAVOR.
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

RE:Clase calendario

Publicado por Fernando (12 intervenciones) el 27/02/2008 19:32:59
El problema es que el objeto "turno" tiene siempre la hora actual (GregorianCalendar ) y como tu la asignas el valor de "turno" al objeto "horas" dentro del metodo te almacena la hora cuando llamaste a ese método. La solucion mas factible es utilizar turno como una variable interna del contructor de la clase, y asignarle el valor actual de "turno" a "horas", SIEMPRE dentro del contructor... así no tendras ningun problema..

AUCH!!! el problema es del año pasado XD... bueno... si alguien tiene un problema parecido.. esa era la solucion :P

Atte. Fernando
Ingeniero Industrial
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

RE:Clase calendario

Publicado por JULIO (1 intervención) el 14/07/2008 18:00:43
el problemas es que lo esta instanciando dentro del metodo y debe ser una variable global que vaya afuera del metodo...es decir instancielo afuera y antes del metodo
EL PROBLEMA ES QUE ESTA INSTANCIANDO LA VARIABLE "TURNO" DENTRO DEL METODO Y DEBE SER EN UNA VARIABLE GLOBAL QUE VAYA ANTES Y AFUERA DEL METODO.
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

RE:Clase calendario

Publicado por Daniel (1 intervención) el 18/02/2011 13:56:54
Muchas gracias por esta ayuda, la verdad que viene bien para adentrase en la clase Calendar.
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