我正在尝试制作一种方法来帮助我拼写正确的世界。在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;
}
}
答案 0 :(得分:3)
您可以使用StringBuffer
类的insert方法代替setCharAt
。
答案 1 :(得分: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);
答案 2 :(得分:0)
尝试使用LinkedList。