/* *************************************************************************
 * Una delle utilita' degli array e' quella della semplificazione di gestione
 * di molte variabili collegate. Per esempio scriviamo un programmino che
 * calcola la media di 10 numeri immessi da tastiera.
 ************************************************************************* */

import java.io.*;         // Include le funzioni I/O standard di base.


class Jlez3c {            // Da qua inizia la classe Jlez3c

 public static void main(String args[])  // Definiamo il metodo Main.
 {                                       // Inizio del main()

    int[] numerucci = new int[10];  // Un array con 4 elementi interi, che
                                    // quindi avra' indici da 0 a 9

    int cont,media=0;               // Definiamo 2 variabili intere

// Con questo loop leggiamo i 10 valori da tastiera.

    for (cont=0; cont<10; cont++)           // 10 volte
    {
       System.out.println("\nDammi il numero :" + cont);
       numerucci[cont] = leggiInt();        // Scrivo nell'array
    }

// Loop che calcola la somma dei 10 numeri: media = media + numerucci[cont]

    for (cont=0; cont<10; cont++) media += numerucci[cont];

// Finisco di calcolare la media dividendo per 10 la somma dei numeri

    media /= 10;         // Ossia media=media/10, in forma abbreviata

// Infine stampo il risultato

    System.out.println("\nLa media tra i numeri introdotti e' " + media);

 }               // Fine del metodo principale Main()


/* -------------------------------------------------------------------------
 * Ora definiamo un metodo chiamato leggiInt(), che in entrata non ha
 * parametri, e in uscita restituisce un numero intero immesso da tastiera.
 *    int leggiInt()
 * ----------------------------------------------------------------------- */

 public static int leggiInt()
 {
    try {
      DataInputStream leggilo = new DataInputStream(System.in);
      String stringa = leggilo.readLine();     // dichiaro e leggo stringa.
      return(Integer.valueOf(stringa).intValue());  // e la converto in int.
    }
    catch (Exception e) {
      System.out.println("Errore: " + e + " nella lettura da tastiera");
      System.exit(0);
      return(-1);        // Questo return serve solo perche' il metodo
                         // abbia un int di ritorno anche in caso di errore
    }
 }               // Fine di "int leggiInt()"


}            // Fine della classe Jlez3c


/* *************************************************************************
 * Avremmo anche potuto aggiungere ad una sola variabile volta volta i
 * numeri immessi, e alla fine dividerla per 10, senza usare un array.
 * D'altronde, avremmo anche potuto fare peggio: definire 10 variabili
 * per i 10 numeri!!!!
 ************************************************************************* */