Tô fazendo alguns exercícios do livro dos Deitel mas tem um exemplo sobre utilização dos métodos set e get que está gerando o seguinte erro na linha public Time3( int h ): missing method body, or declare abstract.
Já achei vários erros neste livro e consegui resolvê-los, mas acredito que neste caso eu precise de um pouco mais de teoria. Se alguém puder ajudar, segue abaixo o código. É o exercício que começa na página 392 do livro (Fig. 8.8).
Valeu.
[code]import java.text.DecimalFormat;
public class Time3 extends Object
{
private int hour;
private int minute;
private int second;
// Construtor Time3 inicializa cada variável de instância com zero.
// Assegura que o objeto Time inicie em um estado consistente.
public Time3()
{
setTime( 0, 0, 0 );
}
// Construtor Time3: hora informada, minuto e segundo colocados em 0 por default
public Time3( int h );
{
setTime( h, 0, 0 );
}
// Construtor Time3: hora e minuto informados, segundo colocado em 0 por default
public Time3( int h, int m )
{
setTime( h, m, 0 );
}.
// Construtor Time3: hora, minuto e segundo informados
public Time3( int h, int m, int s )
{
setTime( h, m, s );
}
// Construtor Time3: outro objeto Time3 fornecido
public Time3( Time3 time )
{
setTime( time.getHour(), time.getMinute(), time.getSecond() );
}
// Métodos Set
// Configura um novo valor de hora usando o formato universal.
// Faz verificação de validade nos dados.
// Configura valores inválidos com zero.
public void setTime( int h, int m, int s )
{
setHour( h );
setMinute( m );
setSecond( s );
}
// valida e configura a hora
public void setHour( int h )
{
hour = ( ( h >= 0 && h < 24 ) ? h : 0 );
}
// valida e configura os minutos
public void setMinute( int m )
{
minute = ( ( m >= 0 && m < 60 ) ? m : 0 );
}
// valida e configura os segundos
public void setSecond( int s )
{
second = ( ( s >= 0 && s < 60 ) ? s : 0 );
}
// Métodos Get
// Obtém o valor da hora
public int getHour()
{
return hour;
}
// Obtém o valor dos minutos
public int getMinute()
{
return minute;
}
// Obtém o valor dos segundos
public int getSecond()
{
return second;
}
// converte para String no formato de hora universal
public String toUniversalString()
{
DecimalFormat twoDigits = new DecimalFormat( "00" );
return twoDigits.format( getHour() ) + ":" +
twoDigits.format( getMinute() ) + ":" +
twoDigits.format( getSecond() );
} // fim da classe toUniversalString
// converte para String no formato de hora padrão
public String toString()
{
DecimalFormat twoDigits = new DecimalFormat( "00" );
return ( ( getHour() == 12 || getHour() == 0 ) ? 12 : getHour() % 12 ) + ":" +
twoDigits.format( getMinute() ) + ":" + twoDigits.format( getSecond() ) +
( getHour() < 12 ? " AM" : " PM" );
} // fim da classe toString
} // fim da classe Time3[/code]