Я пытаюсь написать декодер шифра Цезаря на Java, но получаю неожиданный результат (см. пример ниже).
Метод BetterDecrypt() принимает строку cipherText для декодирования, а также целое числоshiftKey, которое представляет собой количество позиций вверх или вниз по алфавиту, на которые должен быть сдвинут каждый символ строки. Если символа нет в строке ALPHABET = "abcdefghijklmnopqrstuvwxyz", то я хочу сохранить символ как есть, например "ab4c" следует декодировать "bc4d".
import java.io.*;
import java.util.*;
public class SimpleDecoder {
public static final String ALPHABET = "abcdefghijklmnopqrstuvwxyz";
public static String BetterDecrypt(String cipherText, int shiftKey) {
cipherText = cipherText.toLowerCase();
String message = "";
for (int ii = 0; ii < cipherText.length(); ii++) {
char character = cipherText.charAt(ii);
if (ALPHABET.contains(Character.toString(character))) {
int charPosition = ALPHABET.indexOf(cipherText.charAt(ii));
int keyVal = (charPosition - shiftKey) % 26;
if (keyVal < 0) {
keyVal = ALPHABET.length() + keyVal;
char replaceVal = ALPHABET.charAt(keyVal);
message += replaceVal;
}
} else {
message += character;
}
}
return message;
}
public static void main(String[] args) {
System.out.println(BetterDecrypt("ab4c", -1));
// OUTPUT: 4 EXPECTED OUTPUT: bc4d
System.out.println(BetterDecrypt("ab4c", 1));
// OUTPUT: z4 EXPECTED OUTPUT: za4b
}
}
Подробнее здесь: https://stackoverflow.com/questions/780 ... ted-output
Декодер шифра Цезаря на Java – неожиданный результат ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как настроить сеттеры и Getters, чтобы пройти тестовые примеры. Проблема типа шифра Цезаря
Anonymous » » в форуме JAVA - 0 Ответы
- 19 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как мне шифровать питон бинарным рисунком вдоль шифра Цезаря? [закрыто]
Anonymous » » в форуме Python - 0 Ответы
- 4 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как мне шифровать питон бинарным рисунком вдоль шифра Цезаря? [закрыто]
Anonymous » » в форуме Python - 0 Ответы
- 0 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Дешифруя с помощью шифра потока с использованием той же клавиши шифра потока
Anonymous » » в форуме Python - 0 Ответы
- 24 Просмотры
-
Последнее сообщение Anonymous
-