Soluzione 3.1

Ecco una possibile soluzione. Notare che non abbiamo avuto bisogno di memorizzare tutti i valori inseriti dall'utente. Notare anche come sono stati gestiti i casi in cui l'utente inserisce 0 elementi oppure 1 elemento.
import java.util.Scanner;

public class SequenceAnalyzer
{
    public static void main(String[] args)
    {

      Scanner in = new Scanner(System.in);

      double sum = 0;
      double sumSquares = 0;
      int count = 0;

      boolean done = false;
      while (!done)
	{
	  System.out.println("Inserire numero (Q per terminare sequenza):");
	  String newInput = in.next();
	  if (newInput.equalsIgnoreCase("Q"))
	    done = true;
	  else
	    {
	      double value = Double.parseDouble(newInput);
	      sum += value;
	      sumSquares += value * value;
	      count++;
	    }
	}

      double avrg = 0;
      double stdev = 0;
      if (count > 0)
	{
	  avrg = sum / count;
	  if (count > 1)
	    stdev = Math.sqrt((sumSquares - sum*sum/count) / (count - 1));
	}

      System.out.println("Hai inserito " + count + " elementi.");
      System.out.println("La media e`: " + avrg);
      System.out.println("La deviazione standard e`: " + stdev);

    }
}