Creare un programma che legga una serie di valori numerici da tastiera (non necessariamente interi). L'inserimento termina quando viene inserito il valore 0.
Il programma dovra` calcolare e stampare la media dei quadrati di tutti i numeri inseriti. Ad esempio, se vengono inseriti 1, 2.5, -3, 0 il programma dovra` stampare (1^2 + (2.5)^2 + (-3)^2) / 3 = 5.41666666666666
io ho fatto questo ma il risultato non viene come dovrebbe, ho potuto confermare facendo il programma senza arraylist.
import java.util.*;
public class PrintMedieArrayList {
public static void main(String args[]) {
Scanner scan = new Scanner(System.in);
double n = 0;
ArrayList<Double> lista = new ArrayList<>();
do {
System.out.println("Inserisci un numero: ");
n = scan.nextDouble();
lista.add(n);
if (n == 0)
break;
} while (true);
double pot = 0;
int count = 0;
for (int i = 0; i < lista.size(); i++) {
double number = lista.get(i);
pot = pot + (number * number);
count++;
}
System.out.println("risultato: " + pot / count); //(pot / lista.size())
}
}