【发布时间】:2015-03-22 02:46:29
【问题描述】:
我需要用字符串中的多个替换来替换多个字符。我想替换以下字母:
Z、I、K、A、Y、W、X、F、S、Q、V、G、N、O、H、J、B、P、T、R、M、E、L、C , U, D
对应的:
E、T、O、A、I、N、R、S、H、L、D、F、M、C、U、G、W、Y、B、P、V、K、J、Q , Z, X
例如,“Z”变成“E”,“I”变成“T”,等等。 下面是一些示例代码:
public static void main(String[] args) {
String s = "LAMA XZRQAOZ";
// Replacing code
// Output: s = "JAVA REPLACE"
}
最简单的方法是什么?
注意:我曾尝试将数组与 for 循环一起使用,但这会多次替换字母,因此会将其替换为错误的字母。
注意2:我实际尝试做的字符串长度超过10000个字符,所以我不知道一次迭代1个字符是否会导致性能太慢。
【问题讨论】:
-
使用
HashMap。 -
旁白:这看起来像一个简单的替换密码。您应该知道,这样的密码很容易破解。我可以用铅笔和纸在 20 分钟内完成 :-)
-
@StephenC 是的,我正在尝试破解替换密文。我知道如何手工完成,但我想为它编写一个程序。