2014-12-05 162 views
1

我目前正在編碼/解碼java中的莫爾斯電碼程序。我在解碼時遇到問題。我正在嚴格使用大寫字母,只有1個字。沒有句子。當我調試,程序無限線之間循環1 & 2.這是我到目前爲止有:莫爾斯電碼解碼 - 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

嘗試改變線內的循環,這樣的:

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