Java用字符串中的字符串替换字符

Ctr*_*rlV 0 java string replace

你能说出我犯错的地方吗:

  public static char[] replaceSpaces(String string){
    int length = string.length();
    int spaceCount = 0;
    for(int i =0; i<=length-1;i++){if(string.charAt(i)==' '){spaceCount++;}}

    int index = length + spaceCount*2;
    char[] charString = new char[index];
    int k=0;
    for(int i=0;i<index-1;i++){

        if(string.charAt(k) == ' '){
            charString[i] = '%';
            charString[i+1] = '2';
            charString[i+2] = '0';
            i = i +2;
            k=k+1;}
        else
            charString[i] = string.charAt(k);
            k++;
    }
    return charString;}

}
Run Code Online (Sandbox Code Playgroud)

它输出wa%20cf,而II想要"wa%20dcf"作为输出.基本上我用"%20"替换每个空格.此代码也不适用于两个或多个空格.

Nik*_*las 5

为什么要编写自己的方法?

String yourString = "my test string".replace(" ", "%20");
Run Code Online (Sandbox Code Playgroud)