Java - Die Methode replace (), die Werte aus Arrays verwendet, ändert die Array-Wert
Ich mache so etwas wie
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;
}
und ich habe eine andere Methode, die es einfach umkehrt
public String decrypt(String a){
a = a.replace(list[2],list[0]);
a = a.replace(list[3],list[4]);
return a;
}
Natürlich ist das vereinfacht, der echte Code, den ich verwende, verwendet das gesamte Alphabet und einige Zahlen. Also hier ist mein Problem: Wenn ich so etwas wie @ einge123
inencrypt()
und es gibtngV
dann gebe ich @ engV
in decrypt () gibt es mir wie1q3
. Nur einige Buchstaben sind richtig geschaltet und andere nicht. Gibt es etwas mit demreplace()
Methode mit Array-Werten, die ich vermisse? Ich bin offensichtlich neu in Java.
Auch ich lese Java ersetzen () Probleme aberreplaceAll()
hat nicht geklappt.