我正在做类似
的事情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()中,它会让我像{ {1}}。只有部分字母被正确切换,有些字母不正确。使用我忽略的数组值的1q3
方法是否存在某些问题?我显然对Java很陌生。
我也看了Java replace() problems,但replace()
没有成功。
早些时候,一位名叫Tunaki的主持人告诉我这是重复的,但我没有在stackoverflow上找到解决此问题的任何其他问题。如果你们不能从上面的示例中找出问题是什么,我可以发布我的实际代码(除了整个字母表之外,它是相同的。)