JAVA 写一个函数,有三个字符串参数abc 以实现将字符串a中的所有b替换成c(String.replaceAll函数不可以用

求大神解答啊~
2025-02-25 08:31:08
推荐回答(4个)
回答1:

按照你的意思没用replaceAll ,但很奇怪你为什么不用,这样自己写超级麻烦的。
你看下是不是你需要的,希望采纳!

public class StringTest {
/**
* <一句话功能简述> <功能详细描述>
*
* @param args
* @see [类、类#方法、类#成员]
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String a = "aabbccbb";
String b = "bb";
String c = "eeee";
while (true) {
int num = a.indexOf(b);
if (num != -1) {
char a_cahr[] = a.toCharArray();
int count = 0;
a = "";
for (int i = 0; i < a_cahr.length; i++) {
if (i >= num && i < num + b.length()) {
if (count == 0) {
a += c;
}
count++;
} else {
a += a_cahr[i];
}
}
} else {
System.out.println("替换后的结果:"+a);
return;
}
}
}
}

回答2:

您好 ,我的是C++版本希望楼主采纳
char * replaceAll(char *value,char * old,char *news){

char *ch=new char[1000];
int value_size=strlen(value);
int old_size=strlen(old);
int new_size=strlen(news);
char oneChar=old[0];
int newIndex=-1;
int x=0;
bool isEquals=false;
for (;x {
isEquals=false;
char valueChar=value[x];
//找到第一个与字符串相等
if(valueChar==oneChar){

isEquals=true;
int index=0;
for (int y=x,size=x+old_size-1;y<=size&&size {
char ch=value[y];
char oldChar=old[index++];
if(oldChar!=ch){

isEquals=false;
break;
}
}
}
//若果找到了要替代的字符
if (isEquals)
{
for (int j=0;j {
char nchar=news[j];
ch[++newIndex]=nchar;
}
x+=old_size;
}
else if(!isEquals) {
ch[++newIndex]=valueChar;
x++;
}
}
ch[newIndex+1]='\0';
return ch;

}

回答3:

这个真有点蛋疼,有方法不用还要自己重写,都不符合JAVA语言特色

回答4:

作业?