-1

我正在创建一个将英语转换为莫尔斯语的程序。我目前有英语莫尔斯语(使用哈希图)和两个文本框来获取用户输入然后显示结果。我不知道如何在没有文件导入的情况下进行实际转换。现在我已经将第二个动作执行标签设置为等于地图(我认为这是错误的,但值得一试)。我知道我需要使用字符串生成器,但我不知道如何使用它。我的问题是,我该如何解决这个问题?

这些是我的文本字段:

    text1.addActionListener(new ActionListener() //text box for user
    {
     public void actionPerformed(ActionEvent e)
     {
       String input = text2.getText();
       label.setText(input);
     }
   });

    button.addActionListener(new ActionListener() //convert to morse (text box)
     {
       public void actionPerformed(ActionEvent e)
       {
       String input = text1.getText();
       label.setText(charToCode);
       }
     });

这是我的英语莫尔斯语

//morse code
Map<Character,String> charToCode = new HashMap<Character,String>();
charToCode.put('A', ".-");
charToCode.put('B', "-...");
charToCode.put('C', "-.-.");
charToCode.put('D', "-..");
charToCode.put('E', ".");
charToCode.put('F', "..-.");
charToCode.put('G', "--.");
charToCode.put('H', "....");
charToCode.put('I', "....");
charToCode.put('J', ".---");
charToCode.put('K', "-.-");
charToCode.put('L', ".-..");
charToCode.put('M', "--");
charToCode.put('N', "-.");
charToCode.put('O', "---");
charToCode.put('P', ".--.");
charToCode.put('Q', "--.-");
charToCode.put('R', ".-.");
charToCode.put('S', "...");
charToCode.put('T', "-");
charToCode.put('U', "..-");
charToCode.put('V', "...-");
charToCode.put('W', "..-");
charToCode.put('X', "-..-");
charToCode.put('Y', "-.--");
charToCode.put('Z', "--..");

谢谢你的时间小伙子们。

4

1 回答 1

1

我建议查看英文字符串中的每个字符,在地图中查找莫尔斯翻译,并将翻译附加到字符串生成器实例中。这是一个简单的例子:

StringBuilder builder = new StringBuilder();
for(char c : englishString.getChars())
{
    builder.append(translationMap.get(c.toString().toUpperCase()));
}

System.out.println(builder.toString());

我希望这有帮助!

于 2015-05-31T18:31:47.013 回答