// 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(); System.out.print("Your secret key: "); int key = console.nextInt(); System.out.println("The encoded message: " + encode(message, key)); } // 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) { text = text.toLowerCase(); String result = ""; for (int i = 0; i < text.length(); i++) { char letter = text.charAt(i); result += encodeLetter(letter, shift); } return result; } // Encodes a single letter using a Caesar cipher. Shifts only // letters (leaves other characters alone). Assumes letter is // lowercase. public static char encodeLetter(char letter, int shift) { 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); } } return letter; } }