【练习】String类的trim方法

package cn.itcast.object;


import java.util.Arrays;


/*
 自己实现trim方法
 
  1.将字符串转换为char类型数组buf
  2.遍历buf数组,将第一个非空格字符之前的所有空格删除,保存为一个新数组buf1
  3.遍历buf1数组,将最后一个非空格字符之后的所有空格山删除,保存为一个新数组buf2
  4.用buf2字符数组构建一个字符串对象并返回该对象
 */
public class Demo6 {


public static void main(String[] args){
String str="      我们的祖国     是花园     ";
char[] buf=str.toCharArray();
System.out.println(Arrays.toString(buf));
String s=trim(buf);
System.out.println(s);
}
public static String trim(char[] buf){

int count=0;//定义一个变量,计算第一个非空格字符前的空格个数
for(int i=0;i<buf.length;i++)
{
if (buf[i]==' '){
count++;
continue;
}else{
break;
}
}
System.out.println("第一次找到了"+count+"个空格");
//定义一个变量,作为buf1数组的长度
int newlength=buf.length-count;
//定义一个新数组
char[] buf1=new char[newlength];
//创建一个变量作为新数组索引值
int index=0;
//遍历旧数组
for(int i=0;i<buf.length;i++){


char temp=buf[i];

if(i>count-1){
buf1[index++]=temp;
}
}
System.out.println("去除前面空格结果是:"+Arrays.toString(buf1));
//下一步要去除最后一个非空格字符后面的空格

//定义一个变量,记录后面空格的个数
int count2=0;
//从后往前遍历buf1,计算出count2的个数
for(int i=buf1.length-1;i>=0;i--){

if(buf1[i]==' '){
count2++;
continue;
}else{
break;
}
}
System.out.println("第二次找到了"+count2+"个空格");
//定义一个变量,作为最终数组的长度
int finallength=buf1.length-count2;
//新建一个数组,作为最终的字符数组
char[] buf2=new char[finallength];
//创建一个变量,作为最终数组的索引
int last=0;
//遍历旧数组
for(int i=0;i<buf1.length-count2;i++){
buf2[last]=buf1[i];
last++;
}
System.out.println("所以最终结果是:"+Arrays.toString(buf2));
String s=new String(buf2);
return s;

}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值