У меня проблема с моим кодом.Я делаю код, чтобы сделать две вещи: зашифровать текст и расшифровать текст.Мой код был делать Encrypt правильно, но метод Decrypt не работает.Я делаю некоторые изменения, чтобы исправить метод Decrypt, но в результате шифрование и дешифрование не работают. Я пытаюсь исправить это, но не могу.помогите мне исправить методы и сделать их правильными.
Первый класс
package so4717814;
public class text {
public static final int AlphaSize = 26;
public static final char[] alpha = { //
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', //
'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', //
};
protected char[] encrypt = new char[AlphaSize];
protected char[] decrypt = new char[AlphaSize];
public text() {
for (int i = 0; i < AlphaSize; i++)
encrypt[i] = alpha[(i + 3) % AlphaSize];
for (int i = 0; i < AlphaSize; i++)
decrypt[encrypt[i] - 'a'] = alpha[i];
}
public String Encryption(String secret) {
char[] mess = secret.toCharArray();
for (int i = 0; i < mess.length; i++)
if (Character.isUpperCase(mess[i]))
mess[i] = encrypt[mess[i] - 'a'];
return new String(mess);
}
public String decryption(String secret) {
char[] mess = secret.toCharArray();
for (int i = 0; i < mess.length; i++)
if (Character.isUpperCase(mess[i]))
mess[i] = decrypt[mess[i] - 'a'];
return new String(mess);
}
}
Второй класс
package so4717814;
import java.util.Scanner;
public class TextApp {
public static void main(String[] args) {
text T1 = new text();
System.out.println();
System.out.print("\n ~WELCOME~\n");
Scanner scanner = new Scanner(System.in);
System.out.printf("\nPlease choose one:\n\n1-%s\n\n2-%s\n", "Encrypt Message", "Decrypt message");
int choice = scanner.nextInt();
switch (choice) {
case 1:
System.out.println("\nEnter your Message :\n ");
String secret = scanner.next();
System.out.printf("\n The Encryption is :\n");
secret = T1.Encryption(secret);
System.out.println();
System.out.println(secret);
System.out.println();
break;
case 2:
System.out.println("\nEnter your message :\n ");
String message = scanner.next();
System.out.printf("\n The Decryption is :\n");
message = T1.decryption(message);
System.out.println();
System.out.println(message);
System.out.println();
break;
}
System.out.println("\n\tThank you for useing my program\t\n\t\t ;)\n\n");
}
}