Java substituição de caracteres

Bom dia/noite! Eu estava querendo criar minha própria criptografia em java. Um exemplo:

a = u&%hy
A = i8$ha

e por ai vai… Mas para fazer isso em java estou tendo problemas, para explicar vou exemplificar. Supondo que a = b na criptografia e b = c, quando utilizo o seguinte código:

String text = “ab”;
String textForm = text.replace(“a”,“b”).replace(“b”,“c”);
System.out.println(textForm);

O que é exibido é:

cc

Sendo que eu gostaria que fosse exibido:

bc

Por que o alfabeto é a = b, b = c
Alguém poderia me ajudar a criar esse “algoritimo de criptografia personalizado”? Obrigado pelo seu tempo!
Vicenzo

Você está com um erro de lógica aí amigo. Observe que quando você chama replace(“a”,“b”) na String text é criado uma nova String na memória, com o valor "bb", pois você mandou que o “a” fosse substituído por “b”. Então, quando você chama replace(“b”,“c”) depois, obviamente o resultado será “cc”, pois você está mandando ele substituir todos os “b” por “c” na String “bb”! Para ter o resultado que você quer inverta a lógica, substitua primeiro o “b” por “c”, e depois o “a” por “b”.