Olá pessoal, estou com um problema e não estou conseguindo encontrar uma solução.
Tenho o seguinte código para realizar a criptografia de César:
private void btDescriptografarActionPerformed(java.awt.event.ActionEvent evt) { 
String palavra;
      int cifra;                                                 
palavra = txtPalavra.getText(); 
   cifra = Integer.parseInt(txtChave.getText());
   if(palavra.equals("") || cifra != 0){ 
      int i, num = palavra.length();
      String vaz = "";
      for (i=0; i<num; i++) {
        vaz = vaz + (char)(palavra.charAt(i) - cifra);
        lblDes.setText(vaz); 
             }
          }else{ 
JOptionPane.showMessageDialog(null, "Complete os campos!");
        }         // TODO add your handling code here:
    }  
Ele está criptografando como desejo, por exemplo se coloco a palavra lucas e uma cifra de número 3 ele me retorna o valor de oxfdv.
O problema é por exemplo se coloco a letra z e coloco cifra 2 ele vai me exibir um caractere, no caso | e eu preciso que ele exiba o B, sendo assim ele tem de voltar a contagem pro A.
Gostaria de saber se alguem tem alguma solução.
O erro está ocorrendo com a descriptografia também, se coloco por exemplo A e uma cifra 3 para descriptografar ele me exibi um caractere também, sendo que era pra exibir a letra x.
Grato, Lucas>
