import java.io.*;

public class CreaFileHtml2 {
   /**
    * Questo secondo esercizio crea un file html con una tabella
    * contenente i valori delle potenze del 2 e del 3 da 0 a 10.
    * Assomiglia molto all'esempio CreaFileHtml1.java. La differenze sta
    * nel corpo del file HTML dove dobbiamo scrivere i tag opportuni per
    * produrre la tabella.
    *
    * @author Roberto Sassi
    * @version 1.0
    */
  public static void main(String[] args) {
    
    File fileHTML = new File("index2.html");
    FileWriter streamHTML = null;
    try {
      streamHTML = new FileWriter(fileHTML);
    }
    catch(IOException e) {
      System.out.println("Impossibile aprire il file.");
      System.out.println("JVM ha sollevato l'eccezione: " + e);
      System.exit(0);
    }
    PrintWriter pwHTML = new PrintWriter(streamHTML);
    
    String mioTitolo = "Una tabella scritta da un programma Java!";
  	String miaFrase = "creato da un mio programma Java,<br />\n<b>che bello!</b>";

	  // scriviamo l'header e l'inizio del body
    pwHTML.print("<html>\n<head>\n<title>" + mioTitolo + "</title>\n</head>\n");
    pwHTML.print("<body bgcolor=\"#ffffff\">\n");

  	// scriviamo la tabella
	  pwHTML.print("<b>Potenze del 2 e del 3 (da 0 a 10)</b><br /><br />\n");
	  pwHTML.print("<table border=\"3\" cellpadding=\"10\">\n");

  	// Una piccola novità: il tag <th> permette di specificare
  	// il nome di una riga o colonna. Identico a <td>, semplicemente
	  // il browser evidenzia il testo automaticamente.
	  // ATTENZIONE:
  	pwHTML.print("<tr>\n" + 
      "<td></td>\n" +
      "<th>2</th>\n" + 
      "<th>3</th>\n" +
      "</tr>\n");

    for(int i=0; i<=10; i++) {
    	pwHTML.print("<tr>\n" +
        	"<th>" + i + "</th>\n" +
        	"<td bgcolor=\"FFFF00\">" + (int)Math.pow(2.0,i) + "</td>\n" +
          "<td bgcolor=\"0099AA\">" + (int)Math.pow(3.0,i) + "</td>\n" +
          "</tr>\n");
    }
	
    // Chiudo la tabella
	  pwHTML.print("</table>\n");

  	// scriviamo la parte conclusiva della pagina
	  pwHTML.print("</body>\n</html>");
    
    // chiudiamo lo stream
    pwHTML.close();
  }
}

