Programa básico moda

Ver el tema anterior Ver el tema siguiente Ir abajo

Programa básico moda

Mensaje por VictorH el Vie Ene 22, 2016 2:52 pm

Para entender las múltiples condiciones que requiere la moda el mejor recurso que he encontrado es este:
http://www.vitutor.com/estadistica/descriptiva/a_8.html

Con este método que os propongo se podrían cumplir todas las condiciones establecidas ahí excepto la última, que requeriría un mayor control de la posición y repetición de cada elemento.

La idea de esto es usar dos arrays, almacenando en una el valor a controlar y en otra sus repeticiones. La relación entre ambos conceptos se establece en función de su índice de indexado común. Así Array1(1)=Valor1 y Array2(1)=Contador1.

O para que se entienda mejor, este es mi array:
[A, B, B, B, C, D, D]

Y este es el resultado:
[A, B, C, D]
[1, 3, 1, 2]

Como véis, cada posición de cada letra se corresponde con la posición de su número de repeticiones.

Una vez que tienes esos dos arrays lo único que has de hacer es controlar, a través de otro bucle, cual es el valor o valores mas repetidos, pero eso es sencillo y os lo dejo a vosotros.

El programilla aquí:
Código:
package prueba3;

import java.util.ArrayList;
import java.util.List;

public class Prueba3 {

    public static void main(String[] args) {

        List<String> conceptos = new ArrayList();
        List<Integer> contadores = new ArrayList();

        List<String> miLista = new ArrayList();

        int existe = -1;

        miLista.add("A");
        miLista.add("B");
        miLista.add("B");
        miLista.add("B");
        miLista.add("C");
        miLista.add("D");
        miLista.add("D");

        conceptos.add(miLista.get(0));
        contadores.add(0);

        for (String elemento : miLista) {

            for (int i = 0; i < conceptos.size(); i++) {

                if (elemento.equalsIgnoreCase(conceptos.get(i))) {
                    existe = i;
                }

            }

            if (existe >= 0) {
                conceptos.set(existe, elemento);
                contadores.set(existe, contadores.get(existe) + 1);
            } else {
                conceptos.add(elemento);
                contadores.add(1);
            }

            existe = -1;
            
        }

        System.out.println(miLista);
        System.out.println(conceptos);
        System.out.println(contadores);

        
    }

}
avatar
VictorH
Admin

Posts : 45
Join date : 01/10/2015

Ver perfil de usuario http://daw15.boardlog.com

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.