Código
public class CifradoPolybios { if ((fila * columna) < 27) { fila = 5; columna = 6; } char[][] leyenda = new char[fila][columna]; //Array donde se le asigna los valores al abecedario. int contadorFila = 0; int contadorColumna = 0; int contadorAbecedario = 96; char letra; while (contadorFila < fila) { //Bucle que da valores al array correspondientes con el abecedario. leyenda[contadorFila][contadorColumna] = (letra = (char) contadorAbecedario); if (contadorColumna == (columna - 1)) { contadorColumna = 0; contadorFila++; } else { contadorColumna++; contadorAbecedario++; } } contadorFila = 0; contadorColumna = 0; cadena = cadena.toLowerCase(); int contadorLetra = 0; while (contadorLetra < cadena.length()) { //Bucle que cifra la palabra usando el array una vez ha sido asignado el valor. if (cadena.charAt(contadorLetra) == ((char) 32)) { contadorLetra++; } if (cadena.charAt(contadorLetra) == leyenda[contadorFila][contadorColumna]) { if (cadenaEncriptada == null) { } contadorLetra++; contadorFila = 0; contadorColumna = 0; } else { if (contadorColumna == (columna - 1)) { contadorColumna = 0; contadorFila++; } else { contadorColumna++; } } } return cadenaEncriptada; } }