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);
}
}
- extends: estende
Exception
- throw: lancia
- throws: rilancia al metodo chiamante
- catch: cattura
|