Programma java array
Scrivere un metodo normalizza che, preso in ingresso un array di interi, calcoli la media (double) dei valori memorizzati nell'array e restituisca un array di double (della stessa dimensione dell'array di partenza) in cui ogni valore e' ottenuto dividendo il valore dell'array iniziale per la media dei valori calcolata precedentemente.
import java.util.Arrays;
questo è il programma che ho iniziato a scrivere pero quando va a fare al double[] media mi dice che ci sono due tipi di variabili che è vero pero com e dovrei risolverlo??grazie
public class Es9{
public static double normalizza(int[] a){
Double m=0.0;
for(int i =0;i
m=m+a[1];
double[] media= (a/m);
return media;
}
}
public static void main (String[] x) {
int[] v1 = { 4, 6, 2};
double[] v2 = normalizza(v1);
System.out.println(Arrays.toString(v2));
}
}
import java.util.Arrays;
questo è il programma che ho iniziato a scrivere pero quando va a fare al double[] media mi dice che ci sono due tipi di variabili che è vero pero com e dovrei risolverlo??grazie
public class Es9{
public static double normalizza(int[] a){
Double m=0.0;
for(int i =0;i
double[] media= (a/m);
return media;
}
}
public static void main (String[] x) {
int[] v1 = { 4, 6, 2};
double[] v2 = normalizza(v1);
System.out.println(Arrays.toString(v2));
}
}
Risposte
"obelix23":
Scrivere un metodo normalizza che, preso in ingresso un array di interi, calcoli la media (double) dei valori memorizzati nell'array e restituisca un array di double (della stessa dimensione dell'array di partenza) in cui ogni valore e' ottenuto dividendo il valore dell'array iniziale per la media dei valori calcolata precedentemente.
import java.util.Arrays;
questo è il programma che ho iniziato a scrivere pero quando va a fare al double[] media mi dice che ci sono due tipi di variabili che è vero pero com e dovrei risolverlo??grazie
public class Es9{
public static double normalizza(int[] a){
Double m=0.0;
for(int i =0;im=m+a[1];
double[] media= (a/m);
return media;
}
}
public static void main (String[] x) {
int[] v1 = { 4, 6, 2};
double[] v2 = normalizza(v1);
System.out.println(Arrays.toString(v2));
}
}
Non ho ben capito di preciso l'errore che ti da, comunque ad occhio ti posso dire che all'interno del ciclo for ci sono tre errori. Nella prima assegnazione (m=m+a[1]) sommi sempre a[1] indipendentemente dall'indice i. Dovrebbe essere m=m+a. Nella seconda riga invece inizializzi una variabile che ha vita solo nel ciclo for, e nella terza fai un return nel ciclo, quindi il ciclo non viene eseguito perché ritorni subito un valore (in pratica passi solo con i=0).
Dovresti definire la tua variabile di risposta fuori del ciclo for (prima di eseguirlo), ed il return dopo il ciclo for. Inoltre la popolazione della variabile di risposta la devi fare con un secondo ciclo for dopo aver calcolato la somma e la media di tutti gli elementi.