Имеется задача на шифрование, где каждый из входящих в строку символов английского алфавита надо заменить на его "зеркальный", т.е. такой же по номеру с конца - a→z, b→y, c→x, ... x→c, y →b, z→a
.
Попробовал сделать это без массивов или списков, через строки - в результате замена работает только для последней части алфавита, т.е. символы с n
по z
меняет на нужные, а символы с a
по m
- нет, оставляя их в первозданном виде.
public class Main {
public static void main(String[] args) {
String alphabet = "abcdefghijklmnopqrstuvwxyz";
Scanner scanner = new Scanner(System.in);
String initialPhrase = scanner.nextLine().trim();
String encryptedPhrase = "";
for (int i = 0; i < initialPhrase.length(); i++) {
encryptedPhrase += String.valueOf(encrypt(initialPhrase.charAt(i), alphabet));
}
System.out.println(encryptedPhrase);
}
public static char encrypt(char ch, String str) {
for (int i = 0; i < str.length(); i++) {
if (ch == str.charAt(i)) {
ch = str.charAt(str.length() - i - 1);
}
}
return ch;
}
}
Кто-нибудь может объяснить, почему метод encrypt(ch, str)
срабатывает только для второй половины алфавита?
for (int i = 0; i < str.length(); i++) {
if (ch == str.charAt(i)) {
ch = str.charAt(str.length() - i - 1);
}
}
Необходимо реализовать выход из цикла после того, как значение переменной ch
было обновлено, иначе для первой половины оно меняется дважды (туда и обратно).
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Верно ли утверждение, что абстрактные классы используются для агрегации общих свойств объектов, а интерфейсы для общих функциональных возможностей?
Возник такой вопрос, почему командная строка использует версию 18, и как ее поменять? Я понимаю, что из-за того, что наша java до 8-го пакета включительно...
Данный метод считывает построчно таблицу английских слов с переводом и транскрипциейНо почему-то AndroidStudio не видит этот файл, хотя он лежит...
У меня есть blob, и мне необходимо добавить его к форме чтобы при отправке формы этот файл тоже отправился на сервер