字符串的调整与替换
程序员文章站
2022-07-14 08:05:00
...
//字符串的调整与替换
public class StringModRep{
//从右到左倒着复制(替换)
public static void replace(char[]chas)
{
if(chas==null||chas.length==0)
{
return ;
}
int num=0;
int len=0;
for(len=0;len<chas.length&&chas[len]!=0;len++)
{
if(chas[len]==' ')
{
num++;
}
}
//重新组成的字符串数组的长度
int j=len+num*2-1;
for(int i=len-1;i>-1;i--)
{
if(chas[i]!=' ')
{
chas[j--]=chas[i];
}else{
chas[j--]='0';
chas[j--]='2';
chas[j--]='%';
}
}
}
//从右到左倒着复制(调整)
public static void modify(char[]chas)
{
if(chas==null||chas.length==0)
{
return ;
}
int len=chas.length-1; //字符串数组的长度
int j=chas.length-1;
for(int i=len;i>-1;i--)
{
if(chas[i]!='*')
{
chas[j--]=chas[i]; //从右向左复制
}
}
//把*字符放在最左边
for(;j>-1;)
{
chas[j--]='*';
}
}
//打印字符串数组的内容
public static void printCharArr(char[]chas)
{
for(int i=0;i<chas.length;i++)
{
System.out.print(chas[i]);
}
System.out.println();
}
public static void main(String[]args)
{
char[]chas={'a',' ','b',' ',' ','c' ,0, 0, 0, 0, 0, 0, 0, 0,};
replace(chas);
printCharArr(chas);
char[]chas2={'1','2','*','*','3','4','5'};
modify(chas2);
printCharArr(chas2);
System.out.println(String.valueOf(chas2)); //数组转换为字符串的函数
}
}