2

たとえば、メッセージがありますKU7。また、次のような一連のルールがあります。

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

等々。このルールを使用してメッセージを翻訳する必要があります。〜20あります。翻訳されたメッセージは になりますYWB

私が試したこと:

as and 引数を取るメソッドを作成するにはchar、メソッドに多くのcase blocks(すべてのルール) があり、 translator を返しますchar。次に、for loopI を使用してメッセージをループし、記号ごとに変換します。しかし、それは良い解決策ではないと思います。

他のアイデア/解決策/同様の質問へのリンクを教えてもらえますか?

4

2 に答える 2

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+"");
于 2012-11-27T17:44:06.187 に答える
0

しかし、それは良い解決策ではないと思います。

はい、これは20 differentケースを持つのは良い考えではありません。

他のアイデア/解決策/同様の質問へのリンクを教えてもらえますか?

要件の理想的な解決策は、HashMap<String, String>すべてのルールを含む を作成することです。そして、それを使用して文字列を変換します。

したがって、マップには、次のkey-valueようなペアの形式でマッピングが含まれます。

{"Q":"R", "K":"Y", ...}

特定のキーの値を取得するには、次を使用できます。

map.get("Q");
于 2012-11-27T17:44:43.027 に答える