Nova em java: preciso de ajuda - Implementação do metodo de cifras PlayFair

Boa tarde,

para fazer essa implementação é necessario um método que verique uma frase qualquer e agrupe as letras de 2 em 2, verifique se essa “dupla” de letras é a mesma letra e se for separa-las com o “x” e se a ulima letra ficar sozinha tbm acrescentar um “x”.

Por exemplo:

Na frase: Sérgio Vieira de Melo, o brasileiro embaixador da paz, acaba de ser assassinado.

Ficaria assim:
SE RG IO VI EI RA DE ME LO OB RA SI LE IR OE MB AI XA DO RD AP AZ AC AB AD ES ER AS SA SS IN AD O

como o SS ficou repetido no mesmo grupo separa-se as duas letras com o “X” continua a separação das outras letras normalmente. Então fica assim:

SE RG IO VI EI RA DE ME LO OB RA SI LE IR OE MB AI XA DO RD AP AZ AC AB AD ES ER AS SA SX SI NA DO

Por favor, peço ajuda pq já pensei em várias fomas de fazer e não consegui!!

Agradeço a atenção

Na verdade String nada mais é do que um Array de chars.

Você pode fazer os seguintes passos:

– Retirar todos os acentos da String.
Aqui tem um howto bem simples de como fazer isso http://www.rgagnon.com/javadetails/java-0456.html

–Transforme a String toda em maiúscula.
Basta chamar um método toUpperCase(), não se esqueça que String são imutáveis então você tem que armazenar este retorno.

–Transformar a String em um Array de chars e percorer o Array juntando de 2 em 2.
Também simples, basta chamar o método toCharArray() e fazer um loop neste Array. Lembre-se que você vai precisar de um if neste for que compare se os caracteres são iguals.

Ao final você pode ter uma String só, que possua as letras já formatadas do jeito que você quer separadas por vírgula, ou em um Array dinâmido de String por exemplo.
Como você vai implementar depende da sua imaginação, então tente fazer algo e qualquer dúvida pode postar aqui.