// This program reads a message and a secret key from the user and // encrypts the message using a Caesar cipher, shifting each letter. import java.util.*; public class SecretMessage { public static void main(String[] args) { Scanner console = new Scanner(System.in); System.out.print("Your secret message: "); String message = console.nextLine(); message = message.toLowerCase(); System.out.print("Your secret key: "); int key = console.nextInt(); String encoded = encode(message, key); System.out.println("The encoded message: " + encoded); String decoded = encode(encoded, -key); System.out.println("The decoded message: " + decoded); } // This method encodes the given text string using a Caesar // cipher, shifting each letter by the given number of places. public static String encode(String text, int shift) { String result = ""; for (int i = 0; i < text.length(); i++) { char letter = text.charAt(i); // shift only letters (leave other characters alone) if (letter >= 'a' && letter <= 'z') { letter = (char) (letter + shift); // may need to wrap around if (letter > 'z') { letter = (char) (letter - 26); } else if (letter < 'a') { letter = (char) (letter + 26); } } result += letter; } return result; } }