在位置 x 处将 char 添加到字符串中

新手上路,请多包涵
public String addLetter(char letter, int position, char[] word){
    char[]newWord = new char[word.length+1];

    if(position == 0){
        for(int i = position+1; i<word.length+1; i++){
            newWord[i] = word[i-1];
        }
        newWord[position] = letter;
    }else{

    }
    return new String(newWord);
}

我正在尝试创建一个方法,它将一个字母添加到一个字符串中,然后返回它。到目前为止,我已经能够在字符串的前面添加一个字符,但我不太确定如何在中间/末尾添加一个字符。在 if 条件中,我将每个字母都推到后面一个槽位,以便在前面为新字母留出空间。但是,如果我要在中间添加一些东西,我不知道该怎么办,有什么提示吗?

原文由 LuftWoofe 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 464
2 个回答

您可以制作如下内容:

将您的字符数组转换为字符串

   String b = new String("Tutorial");

然后创建 StringBuilder

    StringBuilder str = new StringBuilder(b);
   System.out.println("string = " + str);

   // insert character at offset 8
   str.insert(8, 's');

   // print StringBuilder after insertion
   System.out.print("After insertion = ");
   System.out.println(str.toString());// this will print Tutorials

原文由 Ahmed Gamal 发布,翻译遵循 CC BY-SA 3.0 许可协议

你也可以这样走:

 public String addLetter(char letter, int position, char[] word) {
    return new StringBuilder(new String(word)).insert(position, letter).toString();
}

原文由 Shahid 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题