O que consegui fazer até agora foi isso, não consigo instanciar o método getHora1, e não faço a minima ideia de como colocar o horário em AM/PM, lembrando que AM/PM seria formato 12 horas.
package hora;
import java.util.Scanner;
public class Hora
{
Scanner ler = new Scanner(<a href="http://System.in">System.in</a>);
private int hora = 0;
private int min = 0;
private int seg = 0;
public Hora()
{
do {
System.out.println("Digite a hora: ");
hora = ler.nextInt();
} while (hora > 24 || hora < 1);
do {
System.out.println("Digite os minutos: ");
min = ler.nextInt();
} while (min > 60 || min < 0);
do {
System.out.println("Digite os segundos: ");
seg = ler.nextInt();
} while (seg > 60 || seg < 0);
}
public Hora(int h, int m, int s)
{
this.hora = h;
this.min = m;
this.seg = s;
}
public void setHor(int h)
{
this.hora = h;
}
public void setMin(int m)
{
this.min = m;
}
public void setSeg(int s)
{
this.seg = s;
}
public void setHor()
{
do {
System.out.println("Digite a hora: ");
hora = ler.nextInt();
} while (hora > 24 || hora < 1);
}
public void setMin()
{
do {
System.out.println("Digite os minutos: ");
min = ler.nextInt();
} while (min > 60 || min < 0);
}
public void setSeg()
{
do {
System.out.println("Digite os segundos: ");
seg = ler.nextInt();
} while (seg > 60 || seg < 0);
}
public int getHor(int hora)
{
return hora;
}
public int getMin(int min)
{
return min;
}
public int getSeg(int seg)
{
return seg;
}
public String getHora1 ()
{
String formatado;
formatado = (this.hora+":"+this.min+":"+this.seg);
return formatado;
}
public void getHora2()
{
}
public void getSegundos()
{
int calcH = hora * 3600;
int calcM = min * 60;
int horario = seg + calcH + calcM;
System.out.println("Qt segundos: "+horario);
}
public static void main(String[] args) {
Hora Exibir = new Hora ();
System.out.println(Exibir);
}
}
Eu preciso fazer isso:
O construtor Hora() deve permitir ao usuário digitar os valores de hora, minuto e
segundos e com eles inicializar os atributos da classe. Os valores digitados deverão ser
consistidos e só aceitos se válidos, caso contrário, exigir ao usuário redigitar;
O construtor Hora(int h, int m, int s) deverá receber os valores de hora, minuto e
segundos e com eles inicializa as propriedades da classe;
Os métodos setHor(int h), setMin(int h) e setSeg(int h) devem receber um valor e
atribuí-lo ao respectivo atributo;
Os métodos setHor(), setMin() e setSeg() devem permitir que o usuário digite um
valor e atribuí-lo ao respectivo atributo. Os valores digitados deverão ser consistidos e
só aceitos se válidos, caso contrário, exigir ao usuário redigitar;
Os métodos getHor(), getMin() e getSeg() devem devolver as respectivas
propriedades;
O método getHora1() deve nos devolver a hora no formato: hh:mm:ss;
O método getHora2() deve nos devolver a hora no formato: hh:mm:ss (AM/PM);
O método getSegundos() deve nos devolver a quantidade de segundos expressa na
hora em questão, (exemplo: 01:00:01 = 3601 segundos) .
Conveniente colocar tratamento de exceção para as possíveis inconsistências na
entrada de dados.