Hola bakunos miren eh estado intentando hacer un programa en JAVA que me lea un cierto número de datos y me regrese la varianza , media y la desviacion de los elementos que ingrese, pues segun yo tengo este codigo solo que nomas no me compila y ya me desespero un poquito espero que me puedan ayudar a corregir mi error, de verdad se los agradeceria mucho..
saludos
Esta es la clase que tengo para leer los datos:
Esta otra clase contiene las funciones para obtener los calculos del arreglo:
Y por ultimo esta la clase que contiene el programa principal:
Aqui esta lo que me arroja el compilador
saludos
Esta es la clase que tengo para leer los datos:
Código:
import java.io.*;
public class Leer
{
public static String dato ()
{
InputStreamReader isr = new InputStreamReader (System.in);
BufferedReader br = new BufferedReader(isr);
String str = " ";
try
{
str = br.readLine();
}
catch (IOException e)
{
System.out.println("Error de I/O"+e.getMessage());
}
return str;
}
public static int datoInt()
{
try{
return Integer.parseInt(dato( ));
}
catch (NumberFormatException e)
{
return Integer.MIN_VALUE;
}
}
public static double datoDouble( )
{
try{
return Double.parseDouble(dato( ));
}
catch (NumberFormatException e)
{
return Integer.MIN_VALUE;
}
}
public static char datochar( )
{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
char c = '\0'; //nulo
try
{
c = (char) br.read();
}
catch (IOException e)
{
System.out.println("Error de I/O. "+e.getMessage());
}
return c;
}
}
Esta otra clase contiene las funciones para obtener los calculos del arreglo:
Código:
public class Estadistica
{
int n;
double x,var,desv;
double datos[ ];
public Estadistica (int n)
{
this.n = n;
datos = new double [n];//Crea el objeto
}
public double media ( )
{
x=0;
for (int i=0; i<n; i++)
x= x + datos[i];
x=x/n;
return x;
}
//pra la varianza
public double varianza ( )
{
var=0;
for (int i=0; i<n; i++)
var = var + Math.pow(x-datos[i],2);
var = var/(n-1);
return var;
}
public double desviacion ( )
{
return Math.sqrt(var);
}
public static void leervector (double datos[])
{
for (int i=0; i<datos.length; i++)
{
System.out.print("Elemento "+(i+1)+":");
datos[i]=Leer.datoDouble( );
}
}
}
Y por ultimo esta la clase que contiene el programa principal:
Código:
public class AplEstadistica
{
public static void main (String args[])
{
int n ;
System.out.println("Ingrese el limite de datos: (n) ");
n = Leer.datoInt ();
Estadistica datos01 = new Estadistica(n);
//datos01.leervector(datos01);
datos01.leervector(datos01);
{
System.out.println(" varianza:"+datos01.varianza());
System.out.println(" media:"+datos01.media());
System.out.println(" desviacion:"+datos01.desviacion());
}
}
}
Aqui esta lo que me arroja el compilador