Classe Orario #2

Alcuni metodi, vedi la classe Orario #1, si possono semplificare se si semplifica anche la struttura dei dati…

public class Orario
{
    // come sopra...
    private int secondi;
    public Orario(int Ore, int Minuti, int Secondi)
    {
        secondi=(Ore*MIN_ORA+Minuti)*SEC_MIN+Secondi;
    }
    public int getOre()     { return secondi/SEC_ORA;         }
    public int getSecondi() { return secondi%SEC_MIN;         }
    public int getMinuti()  { return secondi/SEC_MIN%MIN_ORA; }
    public boolean uguale(Orario altroOrario)
    {
       return (secondi == altroOrario.secondi);
    }
    //...
    public void incrementa(int quantiSecondi)
    {
       secondi += quantiSecondi;
       if(secondi >= SEC_GIO)
         secondi %= SEC_GIO;
    }
    // ...
}

Esercizi

Realizza i metodi

  • incOre(), decrementa(), decMinuti(), decOre()
  • precede(), segue(), confronta()
  • toString()