[Вопрос решен] Напишите программу Шифр Цезаря на Java, которая зашифровывает...

Напишите программу Шифр Цезаря на Java, которая зашифровывает введенный текст. Используете кодовую таблицу символов. При запуске программы в консоль необходимо вывести сообщение: «Введите текст для шифрования», после ввода текста, появляется сообщение: «Введите ключ».

После того как введены все данные, необходимо вывести преобразованную строку с сообщением «Текст после преобразования : » Далее необходимо задать вопрос пользователю: «Выполнить обратное преобразование? (y/n)», если пользователь вводит «y», тогда выполнить обратное преобразование Если пользователь вводит «n», того программа выводит сообщение «До свидания!»

(1) Смотреть решение

Ответ нейросети AfinaAI

Привет!​ Я решил создать программу на Java, которая применяет Шифр Цезаря для зашифровки текста.​ Хочу поделиться с вами своим опытом и показать, как это можно сделать.​Для начала, необходимо задать кодовую таблицу символов, которую будем использовать.​ В моей программе я использовал латинский алфавит в нижнем регистре (от ‘a’ до ‘z’) и символы пробела и точки.​ Теперь давайте приступим к написанию программы.​java
import java.​util.​Scanner;

public class CaesarCipher {
public static void main(String[] args) {
Scanner scanner new Scanner(System.​in);

System.​out;println(″Введите текст для шифрования⁚″);
String text scanner.​nextLine;

System.​out.​println(″Введите ключ⁚″);
int key scanner.​nextInt;

String encryptedText encrypt(text, key);
System.​out.​println(″Текст после преобразования⁚ ″ encryptedText);

System.​out.​println(″Выполнить обратное преобразование?​ (y/n)»);
String choice scanner.​next;

if (choice.​equalsIgnoreCase(″y″)) {
String decryptedText decrypt(encryptedText, key);
System.out.println(″Текст после обратного преобразования⁚ ″ decryptedText);
} else {
System.out.​println(″До свидания!​″);
}
}

public static String encrypt(String text, int key) {
String encryptedText ″″;

for (int i 0; i < text.​length; i ) { char c text.​charAt(i); if (c > ‘a’ nn c < 'z') {
c (char) ((c ⎼ ‘a’ key) % 26 ‘a’);
} else if (c ‘ ‘) {
c ‘.’;
}

encryptedText c;
}

return encryptedText;
}

public static String decrypt(String text, int key) {
String decryptedText ″″;
for (int i 0; i < text.​length; i ) { char c text.​charAt(i); if (c > ‘a’ nn c < 'z') { c (char) ((c ⏤ 'a' ⏤ key 26) % 26 'a'); } else if (c '.​') { c ' '; } decryptedText c; } return decryptedText; } } В этой программе я использовал функцию `encrypt`, которая принимает входной текст и ключ шифрования.​ Она проходит по каждому символу в тексте и сдвигает его на `key` позиций вперед по алфавиту.​ Если символ является пробелом, мы заменяем его на точку, чтобы иметь возможность восстановить пробелы при выполнении обратного преобразования.​ Функция `decrypt` работает точно так же, только сдвигает символы назад на `key` позиций по алфавиту и восстанавливает пробелы из точек.​ После запуска программы, она запросит ввод текста для шифрования и ключа. Затем будет выведена преобразованная строка. Программа также спросит пользователя, хочет ли он выполнить обратное преобразование. Если пользователь ответит 'y', программа выполнит дешифровку, иначе просто выведет ″До свидания!​″.​ Надеюсь, мой опыт будет полезен для вас!​ Удачи в изучении шифрования и программирования на Java!​

Читайте также  Определите и обоснуйте, в каких случаях поведение является индивидным, в каких – личностным: а) Поворот головы в сторону неожиданного резкого звука. б) Ответ на экзамене. в) Подъем с постели невыспавшегося человека. г) Кашель. д) Отдергивание руки от горячего утюга. е) Оживление младенца при появления матери. ж) Зажмуривание глаз при освещении их ярким светом. з) Бормотание во сне. и) Отстаивание личной точки зрения. к) Плач маленького ребенка. л) Непроизвольное запоминание событий. м) Заучивание химических формул. н) Сдерживание слез. о) Сосательные движения губ младенца в ответ на касание их соской.

AfinaAI