使用Java哈希映射转换MorseCode中的文本

使用Java哈希映射转换MorseCode中的文本,java,Java,我必须开发一种方法,将字符串作为参数,并将其转换为摩尔斯电码。我决定使用HashMap,但我不知道如何获取字母的特定值(我将字母设置为键) package.com公司; 导入java.lang.reflect.MalformedParameterizedTypeException; 导入java.util.*; 公共类莫尔斯电码{ public void transformInMorseCode(字符串属性){ HashMap morseMap=新HashMap(); 莫尔斯映射put(“A“,

我必须开发一种方法,将字符串作为参数,并将其转换为摩尔斯电码。我决定使用
HashMap
,但我不知道如何获取字母的特定值(我将字母设置为键)

package.com公司;
导入java.lang.reflect.MalformedParameterizedTypeException;
导入java.util.*;
公共类莫尔斯电码{
public void transformInMorseCode(字符串属性){
HashMap morseMap=新HashMap();
莫尔斯映射put(“A“,”-”);
穆尔塞map.put(“B”、“-…”);
穆尔塞Map.put(“C”和“-.-”);
穆尔塞马普特(D),“-…”;
穆尔塞map.put(“E”、“E”);
穆尔塞马普特(“F”和“.-”);
穆尔塞map.put(“G”和“--”);
穆尔塞马普.普特(“H”、“…”);
穆尔塞map.put(“I“,”);
莫尔斯映射put(“J”,“--”);
莫尔斯映射put(“K”,“-.-”);
穆尔塞map.put(“L”和“-”);
货币符号put(“M”和“--”);
莫尔斯映射put(“N”,“-”);
穆尔塞map.put(“O”,““--”);
莫尔斯映射put(“P”、“-”);
穆尔塞map.put(“Q”和“-.-”);
莫尔斯映射put(“R”、“-”);
穆尔塞马普特;
穆尔塞马普特(“T”,“-”);
“U”和“.-”;
穆尔塞map.put(“V”、“…-”);
莫尔斯映射put(“W”、“-”);
莫尔斯映射put(“X”、“-…-”);
莫尔斯映射put(“Y”,“-.-”);
穆尔塞马普特(“Z”,“--…”);
穆尔塞map.put(“1”、“----”);
穆尔塞map.put(“2”、“.-”);
穆尔塞map.put(“3”,即“…”);
穆尔塞马普特(“4”、“…-”);
穆尔塞马普特(“5”和“…”);
穆尔塞马普特(“6”和“-…”);
穆尔塞map.put(“7”、“-…”);
穆尔塞马普特(“8”和“---”);
穆尔塞map.put(“9”,“----”);
莫尔斯映射put(“0”,“----”;
字符串[]propFinala=prop.split(“”);
用于(字符串s:propFinala){
如果(s.equals(morseMap.keySet())){
}
}
}
}

您可以使用
toUpperCase()
循环遍历字符并获取大写变量。使用此键,您可以使用
map[key]
方法获取映射值。请参见下面的代码

for (String s : propFinala) {
    String code = morseMap[s.toUpperCase()]
    //Do what you awant with your `code` variable below
}
这将帮助您:

StringBuilder result = new StringBuilder();
for (char c : prop.toCharArray())
    if (morseMap.containsKey(("" + c).toUpperCase()))
        result.append(morseMap.get(("" + c).toUpperCase()));
此外,您还应在摩尔斯电码图中添加等于
/
的空格(
):

morseMap.put(" ", "/");

我尝试过,但当我添加System.out.println(result)时,它什么也没有显示@米萨德。你的输入是什么?我输入单词MAMA
morseMap.put(" ", "/");