24.- La clase HoraHMS.
24.- La clase HoraHMS.
import java.util.*;
public class HoraHMS{
/*La estructura de la clse HoraHMSHMS, con dos atributos que la conforman: h , m y s */
private int h;
private int m;
private int s;
public HoraHMS(int hor, int min, int seg){
this.h = hor;
this.m = min;
this.s = seg;
}
public HoraHMS(){
horaActualHMS();//Usamos el metodo horaAhora() en el constructor, para no repetir código.
}
public int getH(){return this.h;}//devuelve this.h;
public int getM(){return this.m;}//devuelve this.m;
public int getS(){return this.s;}//devuelve this.s;
public void setH(int hor){this.h=hor;}//sustituye this.h por hor;
public void setM(int min){this.m = min;}//sustituye this.m por min
public void setS(int seg){this.s = seg;}//sustituye this.s por seg;
public static void main(String[] arg){//método main para probar
Scanner t = new Scanner(System.in).useLocale(Locale.US);
/*Lectura por teclado de una hora:
HoraHMS entre [0,23];
Minutos entre [0,59];
Segundos entre [0,59];
Resultado: HoraHMS introducida: hora : minutos : segundos;*/
/*System.out.println("Introduzca la hora [0..23]");
int hora = t.nextInt();
System.out.println("Introduzca los minutos [0..59]");
int minutos = t.nextInt();
System.out.println("Introduzca los segundos [0..59]");
int segundos = t.nextInt();
horaA(hora, minutos, segundos);
horaB(hora, minutos, segundos);
HoraHMS h1 = new HoraHMS(hora,minutos,segundos);*/
HoraHMS hora1 = new HoraHMS(00,00,00);
HoraHMS hora2 = new HoraHMS(12,10,00);
HoraHMS hora3 = new HoraHMS(12,20,10);
int a = (hora1.toString().compareTo(hora2.toString()));
int b = (hora2.toString().compareTo(hora2.toString()));
int c = (hora3.toString().compareTo(hora2.toString()));
System.out.println(a+"; "+b+"; "+c);
//System.out.println(h1.aMinutos());
//h1.toString();
//String.valueOf(horaAhora()).toString();
//horaAhora().toString();
int hor =0;
do{sHoraActualHMS();}
while(hor <25);
}
public String horaHMS(int hora, int minutos, int segundos){//con otro modo distinto de obtener el formato hh:mm:ss
String hor = null; String min = null; String seg = null; int n=0;
hor = "0"+hora;n=hor.length(); hor = hor.substring(n-2); //Le sumamos el caracter o String 0 y luego recortamos a dos caracteres
min = "0"+minutos;n=min.length(); min = min.substring(n-2);
seg = "0"+segundos;n=seg.length(); seg = seg.substring(n-2);
return "\""+hor+":"+min+":"+seg+"\""+"\f";
}
public HoraHMS horaActualHMS(){
long t= System.currentTimeMillis()/1000;// milisegundos desde el 1 del 1 de 1970 al actual UTC
long segundosHoy = t %(24*60*60);
int horasHoy = (int)(segundosHoy/(60*60));//2 horas de diferencia horario verano
int minutosAhora =(int)((segundosHoy/60))-(horasHoy)*60;
int segundosAhora = (int)segundosHoy%(60);
HoraHMS h= new HoraHMS(horasHoy+2,minutosAhora,segundosAhora);//2 horas de diferencia horario verano
return h;
}
public static String sHoraActualHMS(){
long seg = System.currentTimeMillis()/1000;
seg = seg%(24*60*60);
int hor = (int) seg/(60*60); //2 horas de diferencia horario verano
seg = seg-hor*(60*60);
int min = (int) seg/60;
seg = seg%60;
hor = hor+2;
System.out.println(hor+":"+min+":"+seg+"\f");
return hor+":"+min+":"+seg;
}
public int aMinutos(){
int minutos = this.h*60 +this.m;
return minutos;
}
public String toString(){ //Constructor horas manualmente
String hh = null;String mm = null; String ss = null;
HoraHMS h1 = new HoraHMS(h,m,s);
if(h<=9)hh= 0+""+h;else hh =""+h;
if(m<=9)mm= 0+""+m;else mm =""+m;
if(s<=9)ss= 0+""+s;else ss =""+s;
System.out.println(hh+":"+mm +":"+ss);
return hh+":"+mm +":"+ss;
}
public int compareTo(HoraHMS hora2){
Scanner t = new Scanner(System.in).useLocale(Locale.US);
HoraHMS hora1 = new HoraHMS(this.h, this.m, this.s);
System.out.println("Introduzca la hora [0..23]");
int hora = t.nextInt();
System.out.println("Introduzca los minutos [0..59]");
int minutos = t.nextInt();
System.out.println("Introduzca los segundos [0..59]");
int segundos = t.nextInt();
hora2 = new HoraHMS(hora, minutos,segundos);
int a = (hora1.toString().compareTo(hora2.toString()));
System.out.println(a);
return a;
}
public boolean equals(Object o){
return o instanceof HoraHMS
&& this.h == ((HoraHMS) o).h
&& this.m == ((HoraHMS) o).m
&& this.s == ((HoraHMS) o).s;
}
}
Comentarios
Publicar un comentario