Добавить символ место в строке - PullRequest
0 голосов
/ 24 октября 2010

Я пытаюсь создать метод, который поможет мне правильно написать мир. После того, как 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;
        }
}

Ответы [ 3 ]

3 голосов
/ 24 октября 2010

Вы можете использовать метод insert класса StringBuffer вместо setCharAt.

Рабочая ссылка

1 голос
/ 24 октября 2010

Я бы, наверное, решил это так.

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);
0 голосов
/ 24 октября 2010

Попробуйте использовать LinkedList .

...