Home • ECDL • Algoritmi • Java • Basi di dati • Seconda prova • Eccetera • Cerca nel sito

Eccezioni 3

Precedente
SUPERIORE
Successiva

Continuazione dell'esercizio: "Dati n reali inseriti dall'utente calcolarne la media"

import javax.swing.JOptionPane;

public class Eccezioni12 
{
   public static void main(String args[])
   {
      String input;
      double v[]=new double[5];

      try
      { 
         input=JOptionPane.showInputDialog("Quanti elementi?");
         int numElementi=Integer.parseInt(input);

         double somma=0;
         for(int i=0; i < numElementi; i++)
         {
            input=JOptionPane.showInputDialog("v["+i+"]=");
            v[i]=Double.parseDouble(input);
            somma+=v[i];
         }

         JOptionPane.showMessageDialog(null, "Media=" + dividi(somma, numElementi));
      }
      catch(ArrayIndexOutOfBoundsException ex)
      {
         JOptionPane.showMessageDialog(null, "Numero elementi eccessivo");
      } 
      catch(NumberFormatException ex)
      {
         JOptionPane.showMessageDialog(null, "Input errato");
      }
      catch(Eccezionale ex)                                                      (4)
      {
         JOptionPane.showMessageDialog(null, "Attento: " + ex.getMessage());
      } 
   }
   public static double dividi(double x, double y) throws Eccezionale            (3)
   {
      if(y==0)
         throw new Eccezionale("Divisione per zero!");                           (2)
      else
         return x/y; 
   }
}

class Eccezionale extends Exception                                              (1)
{
   public Eccezionale(String s)
   {
      super(s);
   }
}
  1. extends: estende Exception
  2. throw: lancia
  3. throws: rilancia al metodo chiamante
  4. catch: cattura

Eccezioni 3 - ApPuNtIdIuNiNfOrMaTiCo

Home • ECDL • Algoritmi • Java • Basi di dati • Seconda prova • Eccetera • Cerca nel sito

Precedente
SUPERIORE
Successiva