miércoles, 17 de febrero de 2016

CLASE HORA EN JAVA

Aqui introduciré el código de la clase Hora:


package hora;

public class Horas {
    private Integer hora;
    private Integer minuto;
    private Integer segundo;
    
    public Horas()
    {
        hora=0;
        minuto=0;
        segundo=0;
    }
    
    public Horas(Integer h, Integer m, Integer s)
    {
        hora=h;
        minuto=m;
        segundo=s;
    }
    
    public void contador()
    {
        segundo++;
        if(segundo>=60)
        {
            segundo=0;  
            minuto=minuto+1;
            if(minuto>=60)
            {
                minuto=0;
                hora=hora+1;
                if(hora>=24)
                {
                    hora=0;
                    minuto=0;
                    segundo=0;
                }
            }
        }
    }
    public void contador(Integer segundosxcontador)
    {
        for(int i=0; i<segundosxcontador; i++)
        {
            contador();
        }
    }
    
   public Integer getHora()
    {
        return hora;
    }
    
    public void setHora(Integer hora)
    {
        this.hora=hora;
    } 
    
       public Integer getMinuto()
    {
        return minuto;
    }
    
    public void setMinuto(Integer minuto)
    {
        this.minuto=minuto;
    } 
    
    public Integer getSegundo()
    {
        return segundo;
    }
    
    public void setSegundo(Integer segundo)
    {
        this.segundo=segundo;
    } 
    
    public String toString()
    {
        return hora+":"+minuto+":"+segundo;
    }
    
    public Integer comparar(Hora h)
    {
        int diferencia;
        diferencia=this.getHora()-h.getHora();
        
        if(diferencia==0)
        {
            diferencia=this.getMinuto()-h.getMinuto();
            if(diferencia==0)
            {
                diferencia=this.getSegundo()-h.getSegundo();
            }    
        }
        return diferencia;
    }
    
    public Hora Suma(Hora horita)
    {
        Integer resultadoSeg=(this.getSegundo()+horita.getSegundo());
        Integer acarreo=0;
        
        if(resultadoSeg>=60)
        {
            resultadoSeg=-60;
            acarreo=1;
        }
        
        Integer resultadoMin=(this.getMinuto()+horita.getMinuto()+acarreo);
        if(resultadoMin>=60)
        {
            resultadoMin=resultadoMin-60;
            acarreo=1;
        }
        
        Integer resultadoHora=(this.getHora()+horita.getHora()+acarreo);
        return new Hora(resultadoHora, resultadoMin, resultadoSeg);
    }
    
    public Hora Resta(Hora horita)
    {
        if(this.comparar(horita)>0)
        {
            return resta(this.horita); 
        }
        else
        {
            return resta(horita,this);
        }
    }
    
    private static Hora resta(Hora mayor, Hora menor)
    {
        if(mayor.getSegundo()<menor.getSegundo())
        {
            mayor.setSegundo(mayor.getSegundo()+60);
            mayor.setMinuto(mayor.getMinuto()-1);
        }
        
        Integer segundo=mayor.getSegundo()-menor.getSegundoo();
        
        if(mayor.getMinuto()<menor.getMinuto())
        {
            mayor.setMinuto(mayor.getMinuto()+60);
            mayor.setHora(mayor.getHora()-1);
        }
        
        Integer minuto=(mayor.getMinuto()-menor.getMinuto());
        Integer hora=(mayor.getHora()-menor.getHora());
        
        return new Hora(hora,minuto,segundo);
    }
    
    
}//FIN DEL PROGRAMA



No hay comentarios:

Publicar un comentario