Шифрование работает, а дешифрование не работает
import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Scanner; public class Ceasercipher { static Scanner sc=new Scanner(System.in); static BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); public static void main(String args[]) throws Exception { System.out.println("Enter the String"); String str=br.readLine(); System.out.println("/n Enter the key"); int key=sc.nextInt(); String encrypted=encrypt(str,key); System.out.println("/n encrypted string"+encrypted); String decrypted=decrypt(encrypted,key); System.out.println("/n decrypted string"+decrypted); System.out.println("/n"); } public static String encrypt(String str, int key) { String encrypted=" "; for (int i=0;i<str.length();i++) { int c="str.charAt(i); if(Character.isUpperCase(c)) { c=c+(key%26); if(c">'Z') c=c-26; } else if(Character.isLowerCase(c)) { c=c+(key%26); if(c>'z') c=c-26; } encrypted+=(char)c; } return encrypted; } public static String decrypt(String encrypted,int key) { String decrypted=" "; for (int i=0;i<encrypted.length();i++) { int c="encrypted.charAt(i); if(Character.isUpperCase(c)) { c=c-(key%26); if(c">'A') c=c+26; } else if(Character.isLowerCase(c)) { c=c-(key%26); if(c<'a') c=c+26; } decrypted+=(char)c; } return decrypted; } }
Что я уже пробовал:
я пытаюсь зашифровать и расшифровать строку