替换没有内置函数的函数Java

替换没有内置函数的函数Java,java,Java,可能是一个愚蠢的问题,但我已经搜索了又搜索,似乎找不到一种方法,可以使用for循环替换字符串中的子字符串,而不是内置java函数,如replace、replaceAll等。我曾尝试创建自己的函数,但最终得到了大约4个for循环,但最终没有成功。你知道如何创建一个带有循环的替换函数而不是内置的替换函数吗 我添加了我的代码,试图让大家了解我正在使用的变量 public boolean replaceString(String oldString, String newString){

可能是一个愚蠢的问题,但我已经搜索了又搜索,似乎找不到一种方法,可以使用for循环替换字符串中的子字符串,而不是内置java函数,如replace、replaceAll等。我曾尝试创建自己的函数,但最终得到了大约4个for循环,但最终没有成功。你知道如何创建一个带有循环的替换函数而不是内置的替换函数吗

我添加了我的代码,试图让大家了解我正在使用的变量

public boolean replaceString(String oldString, String newString){
        String D = "xx";
    char[] find = "BC".toCharArray();
    char[] replace ="ABCDE".toCharArray();
    String rep = new String(replace);
    String fin = new String(find);
    String E ="";
    String F = "";
    for(int counter = 0; counter<replace.length; counter++){
        if(find[counter] == replace[counter]){
            for(int j=counter+1; j<counter; counter++){
                E += rep.charAt(j);
                for(int h=j+1; h<j; h++){
                    if(find[h] == replace[h]){
                        for(int k=h+1; k<h; k++){
                            F += rep.charAt(k);
                        }
                    }
                }
            }
        }
    }
    String finReplace = new String(E + D + F);
    System.out.println("REPLACE");
    System.out.println(finReplace);

提前谢谢

我希望这是作业。所以给你伪代码。 `


}再次查看您的代码。当计数器为2时,下面的将抛出ArrayIndexOutOfBoundException

if(find[counter] == replace[counter])
以下循环将永远不会执行,并且j被初始化为计数器+1,但运行循环的条件是j应小于计数器

for(int j=counter+1; j<counter; counter++)
内环也是如此

for(int h=j+1; h<j; h++)

我想这可能会帮助你:

StringBuilder replacedString = new StringBuilder();

for(int counter = 0; counter<replace.length; counter++){
    boolean charFound = false;
            for(int j=0; j<find.length; j++){
                if(find[j]==replace[counter])
                   charFound = true;
            }
    if(!charFound)
       replacedString.append(replace[counter]);
}

System.out.println("Replaced string" + replacedString.toString());

为什么你的方法返回布尔值?用例是什么?replaceString应该得到3个参数,原始字符串,搜索字符串和替换字符串。它基本上是用于实践的,我使用布尔返回的唯一原因是,这样我可以在之后对字符串执行测试,以确定替换是否成功。相反,您应该返回替换的字符串,然后进行比较。你可以使用我提供的方法。非常感谢!更清楚的是,如果我要在新的字符串生成器中添加额外的字母,我是要在替换的字符串中创建另一个附加,还是可以在原始的append方法中添加它@GV如果我理解正确,你想在ABCDE中找到BC并用XX替换它吗?
StringBuilder replacedString = new StringBuilder();

for(int counter = 0; counter<replace.length; counter++){
    boolean charFound = false;
            for(int j=0; j<find.length; j++){
                if(find[j]==replace[counter])
                   charFound = true;
            }
    if(!charFound)
       replacedString.append(replace[counter]);
}

System.out.println("Replaced string" + replacedString.toString());