Jump to content

Recommended Posts

Posted (edited)

Bom dia, pessoal preciso de uma ajuda pra modificar uma classe que já criei,

public class Time
{

private int hora,cont, min,seg;

public Time()
{
//sem passar nenhuma informação;
}

public Time(int hr)
{
//informando a hora;
setHora(hr);
}
public Time(int hr, int minu)
{
//informando a hora e o minuto;
setHora(hr);
setMin(minu);
}

public Time(int hr, int minu, int segu)
{
//e informando a hora, o minuto e o segundo.
setHora(hr);
setMin(minu);
setSeg(segu);
}

public void setHora(int h)
{
if ((h < 0)|| (h > 23))
{
System.out.printf("! #PAN# &*#@£ !");
}else
hora = h;
}

public void setMin(int m)
{
if ((m < 0)|| (m > 59))
{
System.out.printf("! #PAN# &*#@£ !");
}else
min = m;
}

public void setSeg(int s)
{
if ((s < 0)|| (s > 59))
{
System.out.printf("! #PAN# &*#@£ !");
}else
seg = s;
}

public int getHora()
{
return hora;
}

public int getMin()
{
return min;
}

public int getSeg()
{
return seg;
}
}

agora preciso alterar essa classe trocando os atributos hora, min, e seg por um unico atributo que conta o numero de segundos a partir das 00 horas, porém tenho que manter os metodos de acesso a horas, min e seg modificando apenas suas implementações para lidar com este unico atributo.

Já fiz assim:

public class Time2
{
int seg; //Exemplo:
//seg=00 => 00:00:00
// seg=30 => 00:00:30
// seg=90 => 00:01:30

public void setSegundos(int s)
{
int aux = getSegundos();
seg-=aux;
seg+=s;
} // fim do método setSegundos

public void setMinutos(int m)
{
int aux = getMinutos();
seg-=aux;
seg+=m;
}
// fim do método setMinutos

public void setHoras(int h)
{
int aux = getHoras();
seg-=aux;
seg+=h;
}
// fim do método setHoras

public int getSegundos()
{
return seg%60;
} //
}

Estou no caminho certo? alg pode ajudar?[/indent]

Edited by thoga31
GeSHi
Posted

Tem que trabalhar com matemática, usar módulo (%) e divisão por inteiro.Por exemplo, se na variável segundos estiver armazenado 150, seria 00:02:30.

Aí, se alguém usar setHoras(3), tenho que fazer: segundos += 60*60*3

  • Vote 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.