要求:给定一个字符数组以及所用到的长度,用给定的字符例如(%20)代替字符数组中的空格
Java实现
public static int replaceBlank(char[] string,int usedLength){
if(string == null || string.length < usedLength){
return -1;
}
int blankCount= 0;
//计算空格数
for(int i=0;i<usedLength;i++){
if(string[i] == ' '){
blankCount++;
}
}
//计算替代之后的长度
int targetLength = blankCount *2 + usedLength;
while(usedLength < targetLength && usedLength > =0){
if(string[usedLength] == ' '){//如果出现空格,则进行替换
string[targetLength--] = '0';
string[targetLength--] = '2';
string[targetLength--] = '%';
}else {//否则向前移动
string[usedLength] = string[targetLength];
}
usedLength--;
}
return targetLength;
public static void main(String args[]){
char[] string = new char[20];
string[0] = 'h';
string[1] = ' ';
string[2] = 'e';
string[3] = 'l';
string[4] = '';
string[5] = 'l';
//测试程序
//replaceBlank(string,6);
}
}
}