comparacion de valores en arrays

0 votos
preguntado por horacio_rf (120 puntos) Abr 12, 2016 en Java EE

Buenas tengo la siguiente consulta como podria realizar la comparacion de la siguiente cadena cad ="a|4;a|3;a|2;b|2;b|1;b|4;c|2;c|3;c|4;c|1" y sacar unicamente sus valores menores de a, b y c y contar cuantos valores de a b y c existen?

1 Respuesta

0 votos
respondido por ronald (320 puntos) Abr 29, 2016
public class SeparaCadenas {

    public static void main(String[] args) {
        String cad = "a|4;a|3;a|2;b|2;b|1;b|4;c|2;c|3;c|4;c|1";
        int cantidadA, cantidadB, cantidadC, minA, minB, minC, val;
        boolean swA, swB, swC;
        minA = minB = minC = 0;
        swA = swB = swC = true;
        cantidadA = cantidadB = cantidadC = 0;
        String ds[] = cad.split(";");

        for (String parte : ds) {
            String ncads[] = parte.split("\\|");

            switch (ncads[0]) {
                case "a":
                    val = Integer.parseInt(ncads[1]);
                    if (swA) {
                        swA = false;
                        minA = val;
                    }

                    if (val < minA) {
                        minA = val;
                    }
                    cantidadA++;
                    break;
                case "b":
                    val = Integer.parseInt(ncads[1]);
                    if (swB) {
                        swB = false;
                        minB = val;
                    }

                    if (val < minB) {
                        minB = val;
                    }
                    cantidadB++;
                    break;
                case "c":
                    val = Integer.parseInt(ncads[1]);
                    if (swC) {
                        swC = false;
                        minC = val;
                    }

                    if (val < minC) {
                        minC = val;
                    }
                    cantidadC++;
                    break;
            }

        }
        System.out.println("Cantidad de valores para a:" + cantidadA);
        System.out.println("Cantidad de valores para b:" + cantidadB);
        System.out.println("Cantidad de valores para c:" + cantidadC);
        
        System.out.println("Valor minimo de a:" + minA);
        System.out.println("Valor minimo de b:" + minB);
        System.out.println("Valor minimo de c:" + minC);
    }

}

Espero comentarios.....

Preguntas relacionadas

0 votos
0 respuestas
preguntado por ManelM (120 puntos) Ene 28, 2016 en Javascript
0 votos
3 respuestas
0 votos
0 respuestas
preguntado por toshibanumberfabrik (120 puntos) Ene 28, 2016 en C/C++
0 votos
0 respuestas
preguntado por Exodar95 (120 puntos) Ene 28, 2016 en Java
Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código
...