package suanfa;
public class replacespace {
public static String replace(String s,String b){
// char[] result=s.toCharArray();
int addlenth=b.length()-1;
int count=0;
for(char m:s.toCharArray()){
if((int)m==32){
count++;
}
}
char []outcome=new char[s.length()+addlenth*count];
char[]resulta=s.toCharArray();
char []temp=b.toCharArray();
for(int j=s.length()-1;j>=0;j--){
if((int)resulta[j]!=32)
outcome[j+addlenth*count]=resulta[j];
else
{
for(int k=temp.length-1;k>=0;k--){
outcome[j+(addlenth*count)-(temp.length-1-k)]=temp[k];
}
count--;
}
}
return String.valueOf(outcome);
}
public static void main(String[] args) {
String a="My name is Ryan!!!!!";
String b="%20";
String c=replace(a,b);
System.out.print(c);
}
}
在尝试本次试验的时候,发现一个问题,如果你新建一个数组比如说,int []a=new int [25],如果你有一个数组b是b={1,2,3,4,5,6,7},然后将a=b,那么a 的大小也变成了7;而在是25呢!测试代码如下:
int[]a=new int[25];
int[]k={1,2,3,4,5,6,7};
a=k;
for(int m:a){
System.out.println(m);
}