請幫我解決這個問題:摩爾斯電碼轉換器在Java中
我有兩個列表:Letter
(包含所有字母)和Symbol
(包含所有莫爾斯電碼符號)。我需要兩個寫一個方法將一個單詞轉換成莫爾斯電碼。在我看來,這個想法應該是下一步:將單詞拆分爲字母,然後用符號替換字母。
class Morse {
void Code(char let){
// what should I write here?
}
}
請幫我解決這個問題:摩爾斯電碼轉換器在Java中
我有兩個列表:Letter
(包含所有字母)和Symbol
(包含所有莫爾斯電碼符號)。我需要兩個寫一個方法將一個單詞轉換成莫爾斯電碼。在我看來,這個想法應該是下一步:將單詞拆分爲字母,然後用符號替換字母。
class Morse {
void Code(char let){
// what should I write here?
}
}
您需要將字母映射到符號。我通常寧願一個地圖,你可以通過
Map<Letter,Symbol> morseCode = new HashMap<Letter, Symbol>();
for (int i =0; i< YOURLETTERS.size(); i++) {
morseCode.put(YOURLETTERS.get(i), YOURSYMBOLS.get(i));
}
初始化然後,正如你所說的,通過你的信息字符串逐個字符移動,查找映射和符號添加到一個結果(數組或列表,也許)
從兩個列表中創建一個轉換表並使用它。
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);
}
}
將初始化輸出到初始化塊會更好。 – 2011-03-13 12:28:52
轉換表的外觀如何? – Bob 2011-03-13 12:41:02
「//我應該在這裏寫什麼?」碼。如果您想出更具體的問題,請隨時提問。另外,方法名稱應該以小寫字母開頭。 – 2011-03-13 12:11:50
我不知道算法(代碼)應該如何。 – Bob 2011-03-13 12:16:44
您需要Map。 –
2011-03-13 12:22:20