public static int Valida(char[][] tabla, String cadena2) {

        char[] cadena = cadena2.toCharArray(); //Tiene la cadena que va a validar
        int columnas = tabla.length; //Obtiene el numero de columas de la tabla de transiciones 5
        int filas = tabla[0].length; //Obtiene el numero de filas de la tabla de transiciones 6
        int posx = 0, bandera = 0;
        char letra;
        char[][] ne = new char[columnas][2]; //Contiene la tabla de transiciones   
        for (int s = 0; s < columnas; s++) {
            ne[s][0] = tabla[s][0]; //Guarda el estado
            ne[s][1] = (char) s;   //Le asigna un numero al estado para saber su posicion en el arreglo         
        }

        for (int a = 0; a < cadena.length; a++) {
            for (int c = 2; c < filas; c += 2) {
                if (cadena[a] == tabla[posx][c]) {
                    letra = tabla[posx][c + 1];
                    if (letra == '-') {
                        c = filas;
                        a = cadena.length;
                        bandera = 1;
                    }
                    posx = numero(ne, letra, columnas);
                    break;
                }
            } //Fin del for para filas
        } //Fin del for que recorre la cadena de prueba

        if (tabla[posx][1] == 'F' && bandera != 1) {

            System.out.println("La cadena: " + cadena2 + " es aceptada");
            return 1;
        } else {
            System.out.println("La cadena: " + cadena2 + " es rechazada");
            return 0;
        }
    } //Fin de la funcion valida