我有一条消息,例如KU7
。
另外,我有一套规则,如下:
Q K S 7 J ... U
R Y L B 8 ... W
等等。我需要使用此规则翻译邮件。有~20。翻译的邮件将为YWB
。
我尝试了什么:
要创建一个采用char
as和argument的方法,方法有很多case blocks
(所有规则)并返回已翻译的char
。然后使用for loop
我遍历消息并逐个符号翻译。
但我认为这不是一个好的解决方案。
有人可以向我提供类似问题的其他想法/解决方案/链接吗?
答案 0 :(得分:2)
您可以使用HashMap
存储密钥和相应的条目。
HashMap<String,String> map = HashMap<String,String>();
map.put("Q","R");
...
String input = "KU7";
String result = "";
for(char c : input.toCharArray())
result += map.get(c+"");
答案 1 :(得分:0)
但我认为这不是一个好的解决方案。
是的,20 different
个案例不是一个好主意。
任何人都可以向我提供类似的其他想法/解决方案/链接 问题
满足您需求的理想解决方案是创建一个HashMap<String, String>
,其中包含所有规则。并用它来转换你的字符串。
因此,您的地图将包含key-value
对形式的映射: -
{"Q":"R", "K":"Y", ...}
要获得特定密钥的价值,您可以使用: -
map.get("Q");