0
我做這樣的事情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
解密()它給了我像1q3
。只有一些字母被正確切換,有些則沒有。有沒有用replace()
方法使用我缺少的數組值?我顯然是Java的新手。
此外我讀Java replace() problems但replaceAll()
沒有工作。
字符串是不可變的,所以你需要存儲'a.replace(...);' – Tunaki
'的結果如果我在123輸入encrypt()並輸出ngV「這絕不會發生。 – Joni
我很抱歉,我再次編輯我的代碼。我有一個= a.replace(); 所以Tunaki你是否建議我存儲a.replace的結果。 但是,問題仍然是一樣的,你想給我一個視頻展示它嗎? –