package pbxlogique; //Nom: Paul M. Baillot //N° étudiant 2273596 //Nom du projet: Devoir 1, Question 1 //Classe: CSI1501 //Groupe : Lundi //T.A. : Olivier public class Time1 { // constantes: varialbes de classe (final) static public final int HOURS_PER_DAY = 24; static public final int MINUTES_PER_HOUR = 60; static public final int SECONDS_PER_MINUTE = 60; //***AJOUT MANUEL*** static private final boolean DEBUG = false; // variables d'instance private int hours ; // intervalle de valeurs 0 à 23 (inclusivement) private int minutes ; // intervalle de valeurs 0 à 59 (inclusivement) private int seconds ; // intervalle de valeurs 0 à 59 (inclusivement) // constructeur public Time1(int hours, int minutes, int seconds) { /*La modification du constructeur pour ne PAS accepté les temps négatifs va faire de sorte que la différence du temps pourra facilement être calculer sans complications majeures! */ //DÉBUTS DES MODIFICATIONS if (seconds<0) seconds=0; if (minutes<0) minutes=0; if (hours<0) hours=0; //FIN DES MODIFICATIONS this.seconds = seconds % SECONDS_PER_MINUTE ; int m = (seconds / SECONDS_PER_MINUTE) + minutes ; this.minutes = m % MINUTES_PER_HOUR ; this.hours = ((m / MINUTES_PER_HOUR) + hours) % HOURS_PER_DAY ; } // méthodes d'accès public int getHours() { return hours ; } public int getMinutes() { return minutes ; } public int getSeconds() { return seconds ; } // méthodes standards public String toString() { return hours+":"+minutes+":"+seconds ; } public boolean equals(Time1 t) { return ( (hours == t.getHours()) && (minutes == t.getMinutes()) && (seconds == t.getSeconds()) ) ; } // autres méthodes public void increase() { seconds++ ; int carry = seconds / SECONDS_PER_MINUTE ; seconds = seconds % SECONDS_PER_MINUTE ; minutes = minutes + carry ; carry = minutes / MINUTES_PER_HOUR ; minutes = minutes % MINUTES_PER_HOUR ; hours = (hours + carry) % HOURS_PER_DAY ; } // nouvelles méthodes // INSÉREZ VOS MÉTHODES POUR LA QUESTION #1 ICI private int toSeconds(Time1 t) //Converti un "Time1" en secondes { return (t.getSeconds() + t.getMinutes()*(SECONDS_PER_MINUTE) + t.getHours()*(SECONDS_PER_MINUTE*MINUTES_PER_HOUR)); }//END FUNCTION private Time1 toTime1(int second) { if (second<0) second*=-1; //Fait sur que le temps est positif. //Le temps négatif est accepté à ce point ci, car ceci est une fonction //interne. La variable Time1 elle-meme ne peut contenir un temps négatif. int tHour=0, tMinute=0; tHour = second / (SECONDS_PER_MINUTE * MINUTES_PER_HOUR); second -= tHour * (SECONDS_PER_MINUTE * MINUTES_PER_HOUR); tMinute = second / (SECONDS_PER_MINUTE); second -= tMinute * (SECONDS_PER_MINUTE); return new Time1(tHour, tMinute, second); } public Time1 difference(Time1 t) //Retourne la différence (absolue) entre 'CE' temps et "t" { return toTime1(toSeconds(this)-toSeconds(t)); } public boolean plusTot(Time1 t) { //Vérifie si la variable "t" est plus petit que 'cette' variable; if (this.toSeconds(t)toSeconds(heure_Debut) && toSeconds(this)