2010-10-24 39 views
0

我正在嘗試做一個方法來幫助我拼寫世界的權利。 addChar已根據輸入"famili"返回其工作,我希望結果數組包含單詞"familiy"。現在該方法從字符串中刪除一個字符並將其替換爲alpha[]中的當前字符,有人請給我一些幫助,以使此方法在兩個字符之間添加來自alpha[]的字符,並且不刪除一個字符以獲取空間。在字符串中添加字符一個地方

class Main { 
     char [] alpha = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 
         'l', 'm','n', 'o', 'p', 'q', 'r', 's', 't', 'y', 'z'}; 
     public static void main(String [] args) { 

      Main m = new Main(); 
      String [] result = m.addChar("famil"); 
     } 

     public String[] addChar(String word) { 

      String [] words = new String[word.length() * alpha.length]; 
      int k = 0; 

      for(int i = 0; i < alpha.length; i++) { 
       for(int j = 0; j < word.length(); j++) { 
        StringBuffer buf = new StringBuffer(word); 
        buf.setCharAt(j, alpha[i]); 
        words[k++] = buf.toString(); 
       } 
      } 
      return words; 
     } 
} 

回答

1

我可能會解決這個問題是這樣的。

for (int i = 0; i < alpha.length; i++) 
    for (int j = 0; j < word.length(); j++) 
     words[k++] = word.substring(0, j) + alpha[i] + word.substring(j); 
相關問題