問題を解決するのを手伝ってください:
Letter
(すべての文字をSymbol
含む) と (すべてのモールス符号記号を含む) の2 つのリストがあります。そして、単語をモールス信号に変換するメソッドを 2 つ書く必要があります。私の意見では、次のアイデアは次のとおりです。単語を文字に分割し、文字を記号に置き換えます。
class Morse {
void Code(char let){
// what should I write here?
}
}
問題を解決するのを手伝ってください:
Letter
(すべての文字をSymbol
含む) と (すべてのモールス符号記号を含む) の2 つのリストがあります。そして、単語をモールス信号に変換するメソッドを 2 つ書く必要があります。私の意見では、次のアイデアは次のとおりです。単語を文字に分割し、文字を記号に置き換えます。
class Morse {
void Code(char let){
// what should I write here?
}
}
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文字ずつ移動し、マッピングを検索して、結果に記号を追加します(配列またはリストなど)。
2つのリストから変換テーブルを作成し、それを使用します。
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);
}
}