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

Metodi 4

Precedente
SUPERIORE
Successiva

Se il sottoprogramma produce più risultati è possibile restituirli al metodo chiamante in diversi modi.

L'elenco dei parametri prevede un array (sul quale si può scrivere...)

Chiamante Metodo
...
double vettore[];
vettore=new double[100];
random(vettore);
...
public static void random(double v[])
{
   for(int i=0; i < v.length; i++)
      v[i]=Math.random();
}

Il risultato del sottoprogramma è un array

Chiamante Metodi
...
double vettore[];
vettore=random(100);
...
double mmt[];
mmt=MinMaxMed(vettore);
...
public static double[] random(int n)
{
   double v[]=new double[n];
   for(int i=0; i < n; i++)
      v[i]=Math.random();
   return v;
}
...
public static double[] MinMaxMed(double v[])
{
   double minimo=v[0];
   double massimo=v[0];
   double totale=v[0];
   for(int i=1; i < v.length; i++)
   {
      minimo =Math.min(minimo , v[i]);
      massimo=Math.max(massimo, v[i]);
      totale+=v[i];
   }
   double risp=new double[3];
   risp[0]=minimo;
   risp[1]=massimo;
   risp[2]=totale/v.length;
   return risp;
}

Divido il metodo in più metodi che restituiscono una sola risposta, sarà necessaria una chiamata per ogni risposta

Chiamante Metodi
...
double vettore[];
...
double mi=minimo(vettore);
...
double ma=massimo(vettore);
...
double me=media(vettore);
...
public static double minimo(double v[])
{
   double risp=v[0];
   for(int i=1; i < v.length; i++)
      risp=Math.min(risp, v[i]);
   return risp;
}
...
public static double massimo(double v[])
{
   double risp=v[0];
   for(int i=1; i < v.length; i++)
      risp=Math.max(risp, v[i]);
   return risp;
}
...
public static double media(double v[])
{
   double totale=0.0;
   for(int i=0; i < v.length; i++)
      totale+=v[i];
   return totale/v.length;
}

Metodi 4 - ApPuNtIdIuNiNfOrMaTiCo

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

Precedente
SUPERIORE
Successiva