/* *************************************************************************
 * Non potevamo lasciare il programma dantesco senza metodi!
 ************************************************************************* */

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


class Jlez2c {            // Da qua inizia la classe Jlez2c

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

    int pippo=0;             // Variabile intera

    do			/* Usiamo il loop do-while */
    {

        stampamenu();               // Un metodo che stampa il menu
        pippo = leggiInt();         // Prendiamo pippo da tastiera
        switch(pippo)               // e usiamolo per il confronto
	{
	   case 1:
	      canto1();
	      break;
	   case 2:
	      canto2();
	      break;
	   case 3:
	      canto3();
	      break;
	   case 4:
	      canto4();
	      break;
	   case 5:
	      canto5();
	      break;
	   case 6:
	      canto6();
	      break;
	   case 7:
	      canto7();
	      break;
	   case 8:
	      canto8();
	      break;
	   case 9:
	      canto9();
	      break;
	   case 10:
	      canto10();
	      break;
           case 0:
             System.out.println("\nUscita.");
             break;
           default:
             System.out.println("\nSelezione sbagliata!");

        }                   // Fine del costrutto switch

    }                     // Fine del blocco do-while che viene rieseguito

    while(pippo!=0);    // Se pippo e' diverso (!=) da zero, cicla

 }               // 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()"


// Questi metodi non hanno parametri ne' in entrata, ne' in uscita.

 public static void stampamenu()
 {
      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.");
      System.out.println(" 0)  Esci.\n");
 }

// canto 1

 public static void canto1()
 {
     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.");
 }

// canto 2

 public static void canto2()
 {
     System.out.println("Lo giorno se n'andava, e l'aer bruno");
     System.out.println("Toglieva gli animai, che sono in terra.");
 }

// canto 3

 public static void canto3()
 {
     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.");
 }

// canto 4

 public static void canto4()
 {
     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");
 }

// canto 5

 public static void canto5()
 {
     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.");
 }

// canto 6

 public static void canto6()
 {
     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");
 }

// canto 7

 public static void canto7()
 {
     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.");
 }

// canto 8

 public static void canto8()
 {
     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");
 }

// canto 9

 public static void canto9()
 {
     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");
 }

// canto 10

 public static void canto10()
{
     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.");
}

}            // Fine della classe Jlez2c.java