Java中的MorseCode Converter

时间:2011-03-13 12:08:11

标签: java morse-code

请帮我解决问题:

我有两个列表:Letter(包含所有字母)和Symbol(包含所有莫尔斯代码符号)。我需要两个写一个方法来将一个单词转换成莫尔斯代码。在我看来,这个想法应该是下一个:将单词分成字母,然后用符号替换字母。

class Morse {
   void Code(char let){
   // what should I write here?
   }
}

2 个答案:

答案 0 :(得分:2)

您需要将Letter映射到Symbol。我通常更喜欢地图,你可以通过

初始化
Map<Letter,Symbol> morseCode = new HashMap<Letter, Symbol>();
for (int i =0; i< YOURLETTERS.size(); i++) {
   morseCode.put(YOURLETTERS.get(i), YOURSYMBOLS.get(i));
}

然后,如您所说,逐字符移动消息字符串,查找映射并将符号添加到结果(数组或列表,也许)

答案 1 :(得分:1)

从两个列表创建转换表并使用它。

public class Morse {

    List<Character> letters = ...
    List<String> codes = ...

    Map<Character, String> conversionTable = new HashMap<Character, String>();

    public void init() {
        int t = 0;
        for(Character c : letters) {
            conversionTable.put(c, codes.get(t));
            t++;
        }
    }

    public String code(char let){
        return conversionTable.get(let);
    }

}