blob: 4769b1b44e13b54c86d256df7a1b6e4a4516bc5b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
import java.util.Scanner;
public class CaesarCipher {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter a string");
String str = scanner.nextLine();
System.out.println("Enter offset");
int offset = scanner.nextInt();
System.out.println("Output: "+ caesarCipher(str, offset));
}
private static String caesarCipher(String input, int offset) {
StringBuilder sb = new StringBuilder();
for (char character : input.toCharArray()) {
if (character == ' ') {
sb.append(character);
continue;
}
int originalPosition = character - 'A';
int newPosition = (originalPosition - offset) % 26;
char newCharacter = (char) ('A' + newPosition);
if (newPosition < 0) {
newCharacter = (char) ('Z' + (newPosition + 1));
}
sb.append(newCharacter);
}
return sb.toString();
}
}
|