为什么我的 morse code to english java 编程没有显示任何错误但没有打印任何东西?

Why is my morse code to english java programming not showing any errors but not printing anything?

我正在制作一个 java 程序,可以将摩尔斯电码转换为英语。我搜索了帮助,发现也许我需要用 string.split() 做点什么,但我没有这方面的经验,也不知道该把它放在哪里。这是我的代码:

String r = JOptionPane.showInputDialog(null, "Please enter the text you would like to be translated into morse code. Use spaces between letters, and \"|\" for a space. " "\n To print \"Hi there\", you would want to type \'.... .. | - .... . .-. . \'\n\n The morse code will print out at the bottom of your screen.");

char [] regenglish = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 
    'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 
    'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', 
    '4', '5', '6', '7', '8', '9', '!', '?', '.', ',', '/', ':', ';',
    '-', '"', '\'', '(', ')', ' '};

String[] regmorse = { ".- ", "-... ", "-.-. ", "-.. ", 
    ". ", "..-. ", "--. ", ".... ", ".. ", ".--- ", "-.- ", ".-.. ", "-- ", "-.", 
    "--- ", ".--. ", "--.- ", ".-. ", "... ", "- ", "..- ", "...- ", ".-- ", 
    "-..- ", "-.-- ", "--.. ", "----- ", ".---- ", "..--- ", 
    "...-- ", "....- ", "..... ", "-.... ", "--... ", "---.. ",
    "----. ", "-.-.-- ", "..--.. ", ".-.-.- ", "--..-- ", "-..-. ", "-- -... ",
    "-.-.- ", "-....- ", ".----. ", "-.--. ", "-.--.- ", 
        "| "};

String[] morseChars = r.split(" ");

char[] chars = Arrays.toString(morseChars).toCharArray();
boolean endsWithWordSeparator = Arrays.toString(chars).endsWith("| ");
String st = "";
for (int j = 0; j < chars.length; j++)
{
    for (int i = 0; i < regmorse.length; i++)
    {
        if (regmorse[i].equals(Character.toString(chars[j]))) 

        {
            st = st + regenglish[i];
        }
    }
}
System.out.println(st);

我想我只是对为什么它不打印任何东西以及它的作用感到困惑 string.split() 播放,如果有的话。

if (regmorse[i].equals(Character.toString(chars[j])))

您正在尝试将字符与 multi-character 字符串进行比较,因此永远不会满足此条件。例如,您正在检查“-...”是否等同于“.”。

您需要比较 regmorse character-by-character 或将 chars 的字符打包在一起,然后再与 regmorse 进行比较。