摩尔斯电码解码 - 1个字

时间:2014-12-05 18:23:56

标签: java arrays

我目前正致力于编写/解码java中的莫尔斯代码程序。我在解码方面遇到了麻烦。我正在严格使用大写字母,只有一个字。没句子。当我调试时,程序在第1行和第1行之间无限循环。这是我到目前为止所做的:

M[0] = .-; to M[25] = --..;

String decode (String m) {
    m = m + " ";
    String temp = "";
    String word = "";

    do {
        temp = m.substring(0,m.indexOf(" "));  //Line 1 

        for (int i = 0; i < m.length(); i++) {
            if (temp.equals(M[i])){      // Line 2
                word += (char)i + 'A';
                m = m.substring(m.indexOf(" " + 1));
            } 
        }
    } while (m.contains(" "));

    return word;
}

1 个答案:

答案 0 :(得分:1)

尝试将for循环中的行更改为:

 m = m.substring(m.indexOf(" ")+1);