【问题标题】:Add character a place in String在字符串中添加字符
【发布时间】:2011-04-29 22:26:09
【问题描述】:

我正在尝试一种方法来帮助我正确拼写 world。在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;
        }
}

【问题讨论】:

    标签: java arrays string stringbuffer


    【解决方案1】:

    您可以使用StringBuffer 类的insert 方法代替setCharAt

    Working link

    【讨论】:

      【解决方案2】:

      我可能会这样解决。

      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);
      

      【讨论】:

        【解决方案3】:

        尝试使用LinkedList

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-09-20
          • 2016-08-22
          • 1970-01-01
          • 2013-10-27
          相关资源
          最近更新 更多