public class aa{
public String rep(char m,char n){
String ss="";
char[]shu=ss.toCharArray();
for(int i=0;i<shu.length;i++){
if(shu[i]==m){
shu[i]=n;
}
}String chu=shu.toString();
return chu;
}
public static void main(String []args){
String ss="javalanguage"; }
}
public String rep(char m,char n){
String ss="";
char[]shu=ss.toCharArray();
for(int i=0;i<shu.length;i++){
if(shu[i]==m){
shu[i]=n;
}
}String chu=shu.toString();
return chu;
}
public static void main(String []args){
String ss="javalanguage"; }
}
假如替换a为b;
String ss="javalanguage";
String s = ss.replace("a","b");
String s = ss.replace('a', 'b');
String s = ss.replace('a', 'b');
就这样替换啊
public static String rep(char m,char n){
String s=ss.replace(m,n);
return s;
}
public static void main(String []args){
ss="javalanguage";
System.out.println(rep('a','A'));
}
错误在这一步
String chu=shu.toString();
记住toString 方法你没有重写的话是将对象转化为hashcode码.而不是你想的转化为String.打印出来的只是hashcode的String形式而已.如下修改,用StringBuffer
public class TestReplase { public static String rep(String ss,char m,char n){
char[]shu=ss.toCharArray();
for(int i=0;i <shu.length;i++){
if(shu[i]==m){
shu[i]=n;
}
}
StringBuffer sb = new StringBuffer();
for(int i=0;i <shu.length;i++){
sb.append(shu[i]);
}
return sb.toString();
}
public static void main(String []args){
String ss="javalanguage";
ss= rep(ss,'a','b');
System.out.println(ss);
}
}
public class TestReplace { public static String replace(String str, char a, char b) {
char[] ch = str.toCharArray();
for (int i = 0; i < ch.length; i++) {
if (ch[i] == a) {
ch[i] = b;
}
} return new String(ch); } public static void main(String[] args) {
String str = "java";
System.out.println(TestReplace.replace(str, 'a', 'b'));
}}