Java - метод replace () с использованием значений из массивов меняет значения массива?
Я делаю что-то вроде
public static String[] list = {"a","b","c","d",} //It gives me a NullPointeException if I didn't use static
public String encrypt(String a){
a = a.replace(list[0],list[2]);
a = a.replace(list[4],list[3]);
return a;
}
и у меня есть другой метод, который просто меняет его
public String decrypt(String a){
a = a.replace(list[2],list[0]);
a = a.replace(list[3],list[4]);
return a;
}
Конечно, это упрощено, реальный код, который я использую, использует весь алфавит и некоторые цифры. Итак, вот моя проблема: если я введу что-то вроде123
вencrypt()
и это выводитngV
тогда я введуngV
в decrypt () это дает мне как1q3
, Только некоторые буквы правильно переключены, а некоторые нет. Есть ли что-то сreplace()
метод, использующий значения массива, которые мне не хватает? Я, очевидно, новичок в Java.
Тоже читаюJava replace () проблемы ноreplaceAll()
не сработало.