我目前正在用Java编码/解码摩尔斯电码程序。我在解码时遇到问题。我严格使用大写字母和仅1个单词。没有句子。当我调试时,该程序在第1行和第2行之间无限循环。这是到目前为止的内容:
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;
}
最佳答案
尝试将for循环内的行更改为此:
m = m.substring(m.indexOf(" ")+1);
关于java - 摩尔斯电码解码-1个字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27322322/