目标:
编写代码,实现String类的trim()方法效果
思路:
- 定义字符串开始,结束角标值,根据角标值判断字符串开始第一个字符是否为空格,如果是空格接着判断第二个字符,直至不为空;结尾根据角标值判断最后一个字符是否为空格,如果是空格取倒数第二个空格,直至不为空格。
- 当开始和结尾不为空时,取不为空的开始和结尾索引值。
- 通过上边取到的开始和结束不是空格字符的角标值取出该字符串两端不为空的子字符串。
编码:
public static void sp(Object obj){
System.out.println(obj);
}
public static void main(String[] args){
String str=" dji jdfj ";
sp(str+",字符串长短:"+str.length());
str=rewriteTrim(str);
sp(str+",字符串长短:"+str.length());
}
// 重写String类的Trim()
public static String rewriteTrim(String str){
int start=0,end=str.length()-1;
while(start<=end&&str.charAt(start)==(' ')){ // char是基本数据类型,判断相等使用“==”
start++;
}
while(start<=end&&str.charAt(end)==(' ')){
end--;
}
return str.substring(start,end+1);
}