/**
* Con questa esercitazione vogliamo mettere in primo piano:
* - l'uso dei pakage;
* - l'uso di oggetti che ne usano altri: oggetti composti;
*
* Dopo avere installato il materiale per questa esercitazione,
* provate a controllare che cosa  stato creato sul disco in cui
* avete compiuto l'estrazione. E' stata creata una struttura di directory
* che ricalca quanto sancito nell'istruzione package ovvero
* troviamo le sottodirectory esercitazioni e orologio con all'interno
* di quest'ultima il presente file. Vedremo come usare questo principio
* per richiamare univocamente le classi che vogliamo usare dall'interno
* di altri oggetti. Dal programma GEL  anche possibile avere una visione
* ordinata per package.
* Per potere dimostrare l'uso di oggetti composti potremmo rifarci all'uso
* della classe Counter e sfruttarla per questo esercizio,
*/
package esercitazioni.orologio;

import java.io.*;

public class MainOrologio {
    /**
    */

    public MainOrologio(){
    }

    /**
       * Dal metodo main, da cui ricordo bisogna sempre
       * partire per iniziare l'esecuzione di un programma java,
       * istanziaziamo la classe MainOrologio e di segito ne sfruttiamo
       * alcuni metodi
     */
    public static void main(String[] args) {
           for(int i=0;i<20;i++)
                   System.out.println((i % 7));
           System
           if(true)
           return;
        //Dichiarazione della classe orologio
        Orologio o;
        //creazione della istanza Orologio
        o= new Orologio(10,20);
        //
        //sfruttiamo una funzione per leggere l'input da tastiera
        //al fine di influenzare l'orario dell'orologio
        BufferedReader k=
            new BufferedReader(new InputStreamReader(System.in));
        //questa stringa riceve il valore imputato da tastiera
        String st;
        //questo blocco di programma deve essere scritto per
        //potere usare il metodo readLine() della classe BufferedReader
        //che richiede di gestire una eccezione di input-output
        //(vedi lezione relativa alla gestione delle eccezioni)
        try{
            //loop per interpretare i valori digitati sulla
            //tastiera
            do{
                //stampa alcune istruzioni a video per l'utente
                System.out.println("Per avanzare l'orologio di 1 minuto: 'm'");
                System.out.println("Per avanzare l'orologio di 1 ora: 'o'");
                System.out.println("Per azzerare l'orologio : 'r'");
                System.out.println("Per uscire : 'e'");
                //scrive di seguito l'ora attuale
                System.out.print("L'ora attuale  : ");
                System.out.println(o.getOre()+":"+o.getMinuti());
                //attende che l'utente abbia digitato sulla tastiera
                //un valore e che abbia premuto invio
                st=k.readLine();
                //
                if(st.startsWith("m")){
                    o.ticM();
                }else if(st.startsWith("o")){
                    o.ticH();

                }else if(st.startsWith("r")){
                    o.reset();
                }
            }while(!st.equals("e"));
            esercitazioni.calendario.Calendario c=new
                esercitazioni.calendario.Calendario(2005);
            c.setMese(10);
            c.setGiorno(10);
            for(int i=1;i<=12;i++)
                c.stampaMese(i);
        }catch(java.io.IOException e){}
    }


}