0

問題を解決するのを手伝ってください:

Letter(すべての文字をSymbol含む) と (すべてのモールス符号記号を含む) の2 つのリストがあります。そして、単語をモールス信号に変換するメソッドを 2 つ書く必要があります。私の意見では、次のアイデアは次のとおりです。単語を文字に分割し、文字を記号に置き換えます。

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

2 に答える 2

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文字ずつ移動し、マッピングを検索して、結果に記号を追加します(配列またはリストなど)。

于 2011-03-13T12:23:10.540 に答える
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);
    }

}
于 2011-03-13T12:24:48.470 に答える