我目前正致力于编写/解码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;
}
答案 0 :(得分:1)
尝试将for循环中的行更改为:
m = m.substring(m.indexOf(" ")+1);