-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMain.java
52 lines (44 loc) · 1.75 KB
/
Main.java
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Main {
public static Map<Character, Character> createPlugboard() {
Map<Character, Character> plugboard = new HashMap<>();
plugboard.put('A', 'B');
plugboard.put('C', 'D');
plugboard.put('E', 'F');
plugboard.put('G', 'H');
plugboard.put('I', 'J');
plugboard.put('K', 'L');
for (Map.Entry<Character, Character> entry : new HashMap<>(plugboard).entrySet()) {
char key = entry.getKey();
char value = entry.getValue();
plugboard.put(value, key);
}
return plugboard;
}
public static String plugboardEncrypt(String message, Map<Character, Character> plugboard) {
StringBuilder encryptedMessage = new StringBuilder();
for (int i = 0; i < message.length(); i++) {
char originalCharacter = message.charAt(i);
char newCharacter = plugboard.getOrDefault(originalCharacter, originalCharacter);
encryptedMessage.append(newCharacter);
}
return encryptedMessage.toString();
}
public static void main(String[] args) {
Map<Character, Character> plugboard = createPlugboard();
System.out.println("Ange meddelande att kryptera:");
Scanner scanner = new Scanner(System.in);
String input = "";
try {
input = scanner.nextLine().toUpperCase();
} finally {
scanner.close();
}
String plugboardEncryptedMessage = plugboardEncrypt(input, plugboard);
String output = plugboardEncryptedMessage;
System.out.println("Okrypterat meddelande: " + input);
System.out.println("Krypterat meddelande: " + output);
}
}