Hola no he revisado detenidamente tu codigo asi que no se cual sea
exactamente el problema
pero me imagino que esta intentado hacer este cifrado
https://es.wikipedia.org/wiki/Cuadrado_de_Polibiosi es asi revisa este codigo que arme donde codifica como esta en la wikipedia
solo con la diferiencia que cuando se escribe un caracter que no esta en la tabla como
como el espacio en blanco lo sustituye por un doble cero "00"
si tienes dudas o no es lo que buscas avisa
public class CifradoPolybios {
final String TABLA_POLIBO
[] = {"11",
"12",
"13",
"14",
"15",
"21", "22", "23", "24", "24", "25",
"31", "32", "33", "34", "35",
"41", "42", "43", "44", "45",
"51", "52", "53", "54", "55"};
char strMayusculas[] = cadena.toUpperCase().toCharArray();
StringBuilder Result = new StringBuilder();
for (int i = 0; i < strMayusculas.length; i++) {
char caracter =strMayusculas[i];
if (caracter >= 'A' && caracter <= 'Z') {
if (caracter == 'I' || caracter == 'J') Result.append("24");//es el equivalente para I y J
else Result.append(TABLA_POLIBO[caracter-65]);
continue;
}
Result.append("00");//si algun valor no esta en la tabla
}
return Result.toString();
}
public static void main
(String[] args
) { System.
out.
println(new CifradoPolybios
().
cifrar("Wikipedia la enciclopedia libre")); }
}