/* *************************************************************************
 * Ora analizzeremo il costrutto switch, che permette di fare facilmente
 * test multipli ad una variabile. Abbiamo visto come fare dei test
 * multipli tramite molti if annidati, ma quando i test sono molti, ossia
 * sono molti i "casi" in cui agiamo diversamente, e' meglio usare switch.
 * Ecco la sua forma:
 *
 *	switch(variabile)
 *	{
 *	   case costante1:
 *	     istruzione1;
 *           break;
 *	   case costante2:
 *	     istruzione2;
 *           break;
 *	   case costante3:
 *	     istruzione3;
 *           break;
 *	   default:
 *	     istruzione4;
 *	}
 *
 * In questo caso faremmo 3 confronti. Se la variabile non soddisfa nessuno
 * dei 3 confronti viene eseguita l'istruzione sotto "default".
 * I break servono per fermare il confronto qualora uno dei casi fosse
 * risultato vero. Se non si mettono i break i confronti continuano al case
 * successivo. Se non si mette la parte default, nel caso in cui nessun
 * confronto sia vero, non viene fatto niente.
 * Da notare che lo switch puo' verificare solo l'uguaglianza, a differenza
 * degli if che possono verificare condizioni qualsiasi.
 * Potremmo usare lo switch per fare una specie di menu' di selezione,
 * in cui controlliamo quale voce di menu' (corrispondente ad un numero),
 * e' stata selezionata.
 ************************************************************************* */

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


class Jlez1i1 {            // Da qua inizia la classe Jlez1i1

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


    int pippo=0;           // Definiamo una variabile intera pippo.

    System.out.println("\n Scegli il canto dell'inferno che ti interessa:\n");
    System.out.println(" 1)  Canto primo.");
    System.out.println(" 2)  Canto secondo.");
    System.out.println(" 3)  Canto terzo.");
    System.out.println(" 4)  Canto quarto.");
    System.out.println(" 5)  Canto quinto.");
    System.out.println(" 6)  Canto sesto.");
    System.out.println(" 7)  Canto settimo.");
    System.out.println(" 8)  Canto ottavo.");
    System.out.println(" 9)  Canto nono.");
    System.out.println(" 10) Canto decimo.");

    try {
      DataInputStream leggilo = new DataInputStream(System.in);
      String stringa = leggilo.readLine();   // dichiaro e leggo stringa.
      pippo = Integer.valueOf(stringa).intValue();  // e la converto in int.
    }
    catch (Exception e) {
      System.out.println("Errore: " + e + " nella lettura da tastiera");
      System.exit(0);
    }

    switch(pippo)                     // pippo usato per il confronto
      {
        case 1:
           System.out.println("Nel mezzo del cammin di nostra vita");
           System.out.println("Mi ritrovai per una selva oscura,");
           System.out.println("Che la diritta via era smarrita.");
           break;
        case 2:
           System.out.println("Lo giorno se n'andava, e l'aer bruno");
           System.out.println("Toglieva gli animai, che sono in terra.");
           break;
        case 3:
           System.out.println("Per me si va nella citta' dolente,");
           System.out.println("Per me si va nell'eterno dolore,");
           System.out.println("Per me si va tra la perduta gente.");
           break;
        case 4:
           System.out.println("Ruppemi l'alto sonno nella testa");
           System.out.println("Un greve tuono, si ch'io mi riscossi,");
           System.out.println("Come persona che per forza e' desta");
           break;
        case 5:
           System.out.println("Cosi' discesi del cerchio primaio");
           System.out.println("Giu' nel secondo, che men loco cinghia,");
           System.out.println("E tanto piu' dolor, che pugne a guaio.");
           break;
        case 6:
           System.out.println("Al tornar della mente, che si chiuse");
           System.out.println("Dinnanzi alla pieta' de' due cognati");
           System.out.println("Che di tristizia tutto mi confuse,");
           System.out.println("Nuovi tormenti e nuovi tormentati");
           System.out.println("Mi veggo intorno, come c'io mi muova\n");
           break;
        case 7:
           System.out.println("Pape Satan, pape Satan aleppe,");
           System.out.println("Comincio' Pluto colla voce chioccia");
           System.out.println("E quel Savio gentil, che tutto seppe");
           System.out.println("Disse per confortarmi: Non ti noccia");
           System.out.println("La tua paura, che', poter ch'egli abbia,");
           System.out.println("Non ti torra' lo scender questa roccia.");
           break;
        case 8:
           System.out.println("Io dico seguitando, ch'assai prima");
           System.out.println("Che noi fossimo al pie' dell'alta torre,");
           System.out.println("Gli occhi nostri n'andar suso alla cima");
           break;
        case 9:
           System.out.println("Quel color che vilta' di fuor mi pinse");
           System.out.println("Veggendo il Duca mio tornare in volta");
           System.out.println("Piu' tosto dentro il suo nuovo ristrinse");
           break;
        case 10:
           System.out.println("Ora sen va per uno stretto calle");
           System.out.println("Tra il muro della terra e li martiri");
           System.out.println("Lo mio Maestro, ed io dopo le spalle.");
           break;
        default:
           System.out.println("Selezione sbagliata!");

     }               // Fine del costrutto switch

 }               // Fine del metodo principale Main()

}            // Fine della classe Jlez1i1


/* *************************************************************************
 * L'unico "difetto" che ha questo programma e' che se si volessero vedere
 * tutti e 10 gli inizi di canto si dovrebbe eseguire 10 volte.
 * In pratica, bisognerebbe fare in modo che si ritorni al menu' di
 * selezione ogni volta fino a che non si voglia uscire dal programma,
 * magari inserendo 0. Vedremo dei sistemi per fare cio'.
 ************************************************************************* */