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;
}
}
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;
}
}