Java 如何在不使用StringBuilder的情况下在字符串中添加数字

Java 如何在不使用StringBuilder的情况下在字符串中添加数字,java,string,Java,String,假设我有一个字符串s=“你好”。我想在每两个字母后面加上数字2,这样s就变成“HO2AR2EY2OU2”。我通过使用StringBuilder自己完成了这项工作,但需要在不使用StringBuilder的情况下完成 public static void main(String[] args) { StringBuilder str = new StringBuilder("HelloHowAreYou"); int i = 2; while (i <= str.l

假设我有一个字符串s=“你好”。我想在每两个字母后面加上数字2,这样s就变成“HO2AR2EY2OU2”。我通过使用StringBuilder自己完成了这项工作,但需要在不使用StringBuilder的情况下完成

public static void main(String[] args) {
    StringBuilder str = new StringBuilder("HelloHowAreYou");
    int i = 2;

    while (i <= str.length()) {
        str.insert(i, "2");
        i = i + 3;
    }

    System.out.println(str.toString());
}
publicstaticvoidmain(字符串[]args){
StringBuilder str=新的StringBuilder(“你好”);
int i=2;
而(i试试这个:

public static void main(String[] args) {
    String str = "HelloHowAreYou";
    int frequency = 2;
    String insertCharacter = "2";
    String newString = "";
    for (int i = 0; i < str.length(); i++) {
        if ((i + 1) % frequency == 0) {
            newString += str.substring(i, i + 1) + insertCharacter;
        } else {
            newString += str.substring(i, i + 1);
        }
    }
    System.out.println(newString);
}
publicstaticvoidmain(字符串[]args){
String str=“HelloHowAreYou”;
int频率=2;
字符串insertCharacter=“2”;
字符串newString=“”;
对于(int i=0;i
以下是代码:

      public static void main(String[] args)
  {

       String str = "HelloHowAreYou";

       int i = 1;
       int j = 2;

       while ( i <= str.length() )
       {
           if(i%j == 0){

               str = str.substring(0, i)+"2"+str.substring(i, str.length());
               j = j+3;
           }
           i++;
       }

       System.out.println( str );
   }
publicstaticvoidmain(字符串[]args)
{
String str=“HelloHowAreYou”;
int i=1;
int j=2;

而(i您可以使用
String
class提供的一些方法来实现

String s = "HOWAREYOU";
s = String.join("2", s.split("(?<=\\G..)")); \\HO2WA2RE2YO2U
String s=“你好”;

s=String.join(“2”,s.split(“(?试着自己做这件事,如果你遇到了一个在本网站或文档中找不到相关信息的特定问题,那么你可以在这里询问。从ArrayList中的字符串中获取所有字符并使用相同的方法。如果你真的不知道如何做,这里有一个方法提示:
subs字符串
的结果是
HO2WA2RE2YO2U
,而不是
HO2AR2EY2OU2
,并且可以使用正则表达式轻松完成:
s=“Howareyu”。replaceAll(“…”,“$02”)
虽然此代码片段可能会解决问题,但确实有助于提高您的文章质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。