使用java中的一组规则修改消息

时间:2012-11-27 17:42:59

标签: java

我有一条消息,例如KU7。 另外,我有一套规则,如下:

Q K S 7 J ... U 
R Y L B 8 ... W

等等。我需要使用此规则翻译邮件。有~20。翻译的邮件将为YWB

我尝试了什么:

要创建一个采用char as和argument的方法,方法有很多case blocks(所有规则)并返回已翻译的char。然后使用for loop我遍历消息并逐个符号翻译。 但我认为这不是一个好的解决方案。

有人可以向我提供类似问题的其他想法/解决方案/链接吗?

2 个答案:

答案 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");