précédent | suivant | table des matières
public class Temps{ private int heures; private int minutes ;// de 0 à 59 private int secondes ; // de 0 à 59 // CONSTRUCTEURS public Temps(){ heures = 0 ; minutes = 0 ; secondes = 0 ; } public Temps(int h, int m, int s){// initialise heures, minutes, heures = h ; // secondes avec h, m, s minutes = m ; secondes = s ; normaliser() ; } public Temps( long t){ // initialise heures, minutes, secondes Temps t ; // avec le temps t exprimé t = conversionInverse(t) ; heures = t.heures ; minutes = t.minutes ; secondes = t.secondes ; } // CONVERSIONS private long conversion(){ return ((heures*60L)+minutes)*60+secondes ; } private Temps conversionInverse(long t){ Temps te = new Temps(); te.secondes = (int)(t%60) ; t = t/60 ; te.minutes = (int)(t%60) ; te.heures = (int)(t/60) ; return te ; } private void normaliser(){ long t = conversion() ; secondes = (int)(t%60) ; t = t/60 ; minutes = (int)(t%60) ; heures = (int)(t/60) ; } // ACCESSEURS public int getHeures(){ return heures ;} public int getMinutes() { return minutes ;} public int getSecondes(){ return secondes;} public void setHeures(int h){ heures = h ;} public void setMinutes(int m){ minutes = m ; normaliser() ;} public void setSecondes(int s){ secondes = s ; normaliser() ;} // AJOUTS public Temps ajouter( Temps te){ long t = conversion() + te.conversion() ; return conversionInverse(t) ; } public Temps ajouterUneSeconde(){ long t = conversion() + new Temps(0,0,1).conversion() ; return conversionInverse(t); } // COMPARAISONS public int compareA( Temps te){ // retourne <0 si this < te, // 0 si this==te, >0 si this> te long t1 = conversion() ; long t2 = te.conversion() ; return (int)(t1 – t2) ; } public boolean egal( Temps te){// retourne vrai si this = te long t1 = conversion() ; long t2 = te.conversion() ; return t1 == t2 ; } // VERS CHAÎNE public String toString(){ return heures+ ”h, ” +minutes+ ”m, ” +secondes+ ”s ” ; } }
Exemple d’utilisation :
Temps t1 = new Temps( 5, 55, 45); Temps t2 = new Temps( 3, 15, 35); Temps t3 = t1.ajouter(t2); System.out.println(t1+ "+ "+t2+" = "+t3);