¿Cómo sacar la mediana estadística de un archivo.txt en java?

Tengo que sacar la mediana estadística de un archivo.txt que contiene unicamente enteros que están separados por un espacio (" "). La mediana estadística se obtiene sumando el numero que esta en la posicion n/2 mas el numero de la siguiente posicion es decir (n/2)+1 y el resultado de la suma, dividirlo entre 2. "n" es el numero total de datos (en este caso enteros) que contiene el archivo.txt. Este procedimiento es para sacar la mediana cuando tu "n" es par y en mi archivo.txt mi "n" es par.

1 Respuesta

Respuesta
1

import java.io.*;
import java.útil.ArrayList;
class Media {
public static void main(String [] arg) {
File archivo = null;
FileReader fr = null;
BufferedReader br = null;
int pos=0;
int a[];
int i=0;
int cont=0;
ArrayList<Integer> numero = new ArrayList<Integer>();
try {
// Apertura del fichero y creación de BufferedReader para poder
// hacer una lectura cómoda (disponer del método readLine()).
archivo = new File ("c:/prueba/prueba.txt");
fr = new FileReader (archivo);
br = new BufferedReader(fr);
// Lectura del fichero
String linea;
while((linea=br.readLine())!=null){
System.out.println(linea);
cont++;
numero.add(Integer.valueOf(linea));
}
}
catch(Exception e){
e.printStackTrace();
}finally{
// En el finally cerramos el fichero, para asegurarnos
// que se cierra tanto si todo va bien como si salta
// una excepción.
try{
if( null != fr ){
fr.close();
}
}catch (Exception e2){
e2.printStackTrace();
}
}
if(cont%2==0){ // si es par
pos=Integer.valueOf((cont-1))/2;
}
else{
pos=(cont)/2; // si es impar
}
System.out.println("media "+numero.get(pos));
}
}

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas