Programador

¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.
Programador

Foro de opinion acerca de lenguajes y programas.


    Duda : Ayuda(Urgente) / 1er Problema /JAVA

    GarZJes Man
    GarZJes Man
    Admin


    Mensajes : 2
    Fecha de inscripción : 03/02/2016
    Edad : 33

    Duda : Ayuda(Urgente) / 1er Problema /JAVA Empty Duda : Ayuda(Urgente) / 1er Problema /JAVA

    Mensaje por GarZJes Man Miér Feb 03, 2016 1:23 pm

    Tengo duda sobre un problema; Tengo que crear un objeto llamado HORA donde la entrada de datos sean en formato HH:MM:SS (horas, minutos, segundos), pero dentro del programa tengo que trabajar en segundos, no puedo ocupar otra variable que no sean segundos, (SOLO LA VARIABLE SEGUNDOS), y la salida de datos tiene que estar en el mismo formato de entrada HH:MM:SS;
    Nos explicaban el problema con una analogía; Mandas tu auto al taller y el mecánico te intercambia el motor por el de un ferrari, manejas el auto de la misma forma, responde de la misma manera, acelera frena y todo, solo que el motor no es el mismo. Bueno escribes las horas, minutos, segundos pero todo lo trabajas en segundos, y cuando pides el toString te da el formato en horas , minutos , segundos; Espero me haya dado a entender, de todas formas dejo lo que tengo realizado pero no tengo idea de como trabajarlo en segundos con una sola variable;

    public class Hora
    {
    private int segundos;

    public Hora (int h, int m, int s)
    {

    setHoras(h);
    setMinutos(m);
    setSegundos(s);
    }
    public Hora ()
    {

    setHoras(0);
    setMinutos(0);
    setSegundos(0);
    }
    public Hora (int h)
    {

    setHoras(h);
    setMinutos(0);
    setSegundos(0);
    }
    public Hora (int h, int m)
    {

    setHoras(h);
    setMinutos(m);
    setSegundos(0);
    }
    public void setHoras(int segundos1)
    {
    segundos=(segundos>=0 && segundos<86400) ? segundos : 0;
    if(segundos>=3600)
    {
    segundos=segundos/3600;
    }

    }
    public int getHoras()
    {
    return segundos;
    }
    public void setMinutos(int m)
    {
    segundos=(segundos>=0 && segundos<3600) ? m : 0;
    if (segundos>=60)
    {
    segundos=segundos/60;
    }else
    {
    segundos = (segundos<=59) ? m:0;
    }
    }
    public int getMinutos()
    {
    return segundos;
    }
    public void setSegundos(int s)
    {
    segundos=(segundos>=0 && segundos<59) ? s :0;
    if (segundos>=0)
    {
    segundos=segundos;
    }
    }
    public int getSegundos()
    {
    return segundos;
    }
    public String toString()
    {
    return((segundos==0 || segundos==12 ? 12:segundos %12) +":"
    +(segundos<10 ? "0":"") + segundos+ ":"+ (segundos <10
    ?"0":"")+ segundos + (segundos <12 ? "AM" : "PM"));
    }
    }

    Esto es lo que tengo... Espero puedan ayudarme(No utilizo printf ni scanf), soy nuevo en JAVA

      Fecha y hora actual: Sáb Mayo 18, 2024 5:57 pm