import [Link].
scanner*;
public class CaesarCipherProgram {
public static void main(String args[]) {
Scanner sc = new Scanner([Link]);
String k = "y";
while ([Link]("y") || [Link]("Y")) {
String plaintext = "";
int shift = 0;
[Link]("1. Encrypt Message \n2. Decrypt Message ");
[Link]("\nEnter your Choice : ");
int ch = [Link]();
[Link]("Enter Message : ");
plaintext = [Link]();
[Link]("Enter the value by which each character in the plaintext message gets
shifted : ");
shift = [Link]();
switch (ch) {
case 1:
String ciphertext = encrypt(plaintext, shift);
[Link]("ciphertext : " + ciphertext);
break;
case 2:
String ptext = decrypt(plaintext, shift);
[Link]("plaintext : " + ptext);
break;
default:
[Link]("Option not Selected.. Please Select an option");
[Link]("Do you want to continue? [y/n] : ");
k = [Link]();
private static String encrypt(String plaintext, int shift) {
String ciphertext = "";
for (int i = 0; i < [Link](); i++) {
char alphabet = [Link](i);
if (alphabet >= 'a' && alphabet <= 'z') {
alphabet = (char) (alphabet + shift);
if (alphabet > 'z') {
alphabet = (char) (alphabet + 'a' - 'z' - 1);
ciphertext += alphabet;
else if (alphabet >= 'A' && alphabet <= 'Z') {
alphabet = (char) (alphabet + shift);
if (alphabet > 'Z') {
alphabet = (char) (alphabet + 'A' - 'Z' - 1);
ciphertext += alphabet;
else {
ciphertext += alphabet;
}
return ciphertext;
private static String decrypt(String ciphertext, int shift) {
String decryptMessage = "";
for (int i = 0; i < [Link](); i++) {
char alphabet = [Link](i);
if (alphabet >= 'a' && alphabet <= 'z') {
alphabet = (char) (alphabet - shift);
if (alphabet < 'a') {
alphabet = (char) (alphabet - 'a' + 'z' + 1);
decryptMessage += alphabet;
else if (alphabet >= 'A' && alphabet <= 'Z') {
alphabet = (char) (alphabet - shift);
if (alphabet < 'A') {
alphabet = (char) (alphabet - 'A' + 'Z' + 1);
decryptMessage += alphabet;
else {
decryptMessage += alphabet;
return decryptMessage;