Puede darse el caso de que encuentres algún problema en tu código o proyecto, recuerda probar siempre en un ambiente de testing antes añadir el código al trabajo final.
Solución:
Asumiendo el array X está ordenado y tiene una longitud norte:
Si n es impar entonces la mediana es x[(n-1)/2].
Si n es par entonces la mediana es ( x[n/2] + x[(n/2)-1] ) / 2.
Si desea utilizar cualquier biblioteca externa, aquí está la biblioteca de matemáticas de Apache commons, puede calcular la mediana.
Para obtener más métodos y usos, consulte la documentación de la API.
import org.apache.commons.math3.*;
.....
......
........
//calculate median
public double getMedian(double[] values)
Median median = new Median();
double medianValue = median.evaluate(values);
return medianValue;
.......
- Para obtener más información sobre el método de evaluación AbstractUnivariateStatistic#evaluate
Calcular en programa
Generalmente, la mediana se calcula utilizando las siguientes dos fórmulas dadas aquí
Si n es impar, entonces Mediana (M) = valor del ((n + 1)/2) término del elemento.
Si n es par entonces Mediana (M) = valor de [((n)/2)th item term + ((n)/2 + 1)th item term ]/2
Es muy fácil ya que tienes 9 elementos (número impar).
Encuentre el elemento medio de un array.
En tu programa puedes declarar array
//as you mentioned in question, you have array with 9 elements
int[] numArray = new int[9];
entonces tienes que ordenar array usando arreglos#ordenar
Arrays.sort(numArray);
int middle = numArray.length/2;
int medianValue = 0; //declare variable
if (numArray.length%2 == 1)
medianValue = numArray[middle];
else
medianValue = (numArray[middle-1] + numArray[middle]) / 2;
En Java:
int middleSlot = youArray.length/2;
yourArray[middleSlot];
o
yourArray[yourArray.length/2];
en una linea
Eso es posible porque en Java las matrices tienen un tamaño fijo.
Nota :3/2 == 1
Recursos :
- Tutorial de Java – Matrices
Te mostramos las reseñas y valoraciones de los lectores
Si te animas, puedes dejar un enunciado acerca de qué te ha impresionado de este post.