я выполняю проект Hyperskill Encryption - Decryption, описание ниже , и я столкнулся с проблемой. Например, он работает нормально, если я пытаюсь зашифровать букву = ключ = 1, вывод будет: б. но он не будет работать, если буква = z, ключ = 1, метод должен l oop вернуться к началу алфавита, и вывод должен быть a. Вопрос в том, как сделать мой метод l oop обратно в начало, если он должен это сделать?
Описание проекта:
Напишите программу, которая считывает из стандартного ввода сообщение Engli sh и целое число (ключ) и сдвигает каждую букву на указанное число в соответствии с их порядком в алфавите. Если вы достигли конца алфавита, начните с начала (a следует за z).
Алфавит Engli sh находится ниже: abcdefghijklmnopqrstuvwxyz
Программа не должна изменять не-буквы персонажи. Предполагается, что ключ означает, что если человек знает значение ключа, он или она сможет расшифровать текст, а если он или она не знает, он или она не сможет расшифровать текст. Это как настоящий ключ, который может открыть доступ к тексту сообщения.
public static void encrypt(String input, int key) {
String output = "";
String alphabet = "abcdefghijklmnopqrstuvwxyz";
for (int i = 0; i < input.length(); i++) {
String inputCharacter = Character.toString(input.charAt(i));
if (inputCharacter.equals(" ")) {
output += " ";
}
for (int j = 0; j < alphabet.length(); j++) {
String alphabetCharacter = Character.toString(alphabet.charAt(j));
String decryptedCharacter = Character.toString(alphabet.charAt(j) + key);
if (inputCharacter.equals(alphabetCharacter)) {
output += decryptedCharacter;
}
}
}
System.out.println(output);
}