Esercizio 1: La classe Time e la classe TestTime con esempi di uso. ----------- // inizio file Time.java ///////////////////// ////////////////////////////////////////////// package miopack; import java.text.*; public class Time { private int ore, minuti, secondi; public Time() { reset(); } public Time(int ore, int minuti, int secondi) { setTime(ore, minuti, secondi); } public Time(Time t) { setTime(t.ore, t.minuti, t.secondi); } public void reset() { ore = 0; minuti = 0; secondi = 0; } public void setTime(int ore, int minuti, int secondi) { // con valori fuori range azzera this.ore = ( ore >= 24 || ore < 0) ? 0 : ore; this.minuti = ( minuti >= 60 || minuti < 0) ? 0 : minuti; this.secondi = ( secondi >= 60 || secondi < 0) ? 0 : secondi; } public void setTime (Time t) { this.setTime(t.ore, t.minuti, t.secondi); } public void setTime (int secondi) { int ore = secondi/3600; secondi-=(ore*3600); int minuti = secondi/60; secondi-=(minuti*60); this.setTime(ore, minuti, secondi); } public int getOre() { return ore; } public int getMinuti() { return minuti; } public int getSecondi() { return secondi; } public String toString() { DecimalFormat dueCifre = new DecimalFormat("00"); return dueCifre.format(ore) + ":" + dueCifre.format(minuti) + ":" + dueCifre.format(secondi); } public boolean piuGrandeDi(Time t) { if (ore > t.ore) return true; if (ore == t.ore && minuti > t.minuti) return true; if (ore == t.ore && minuti == t.minuti && secondi > t.secondi) return true; return false; } public double timeInOre () { return (ore + (double)minuti/60 + (double)secondi/3600); } public double timeInMinuti () { return (ore*60 + minuti + (double)secondi/60); } public int timeInSecondi () { return (ore*3600 + minuti*60 + secondi); } public void aggiungi(int ore, int minuti, int secondi) { this.aggiungi(new Time(ore, minuti, secondi)); } public void aggiungi(Time t) { this.setTime(this.timeInSecondi()+t.timeInSecondi()); } } // fine file Time.java ///////////////////// ////////////////////////////////////////////// // inizio file TestTime.java ///////////////// ////////////////////////////////////////////// package miopack; public class TestTime { public static void main(String[] args) { Time t1 = new Time(); System.out.println(t1); t1.setTime(12,12,43); Time t2 = new Time(t1); System.out.println(t1); t1.setTime(13,12,43); t2.setTime(13,11,11); System.out.println("t1: " + t1); System.out.println("t2: " + t2); System.out.println(t1.piuGrandeDi(t2)); t1.setTime(t2); System.out.println("t1: " + t1); System.out.println(); t1.setTime(3601); System.out.println("t1: " + t1); System.out.println(t1.timeInSecondi()); t1.setTime(86401); System.out.println("t1: " + t1); System.out.println(t1.timeInSecondi()); } } // fine file TestTime.java ///////////////// //////////////////////////////////////////////