public class StringTest_4 {
public static void main(String[] args) {
String s=" ab c ";
String str=myTrim(s);
System.out.println("-"+str+"-");
}
public static String myTrim(String s) {
int start=0,end=s.length()-1;
while(start<=end && s.charAt(start)==' ')
{
start++;
}
while(start<=end && s.charAt(end)==' ')
{
end--;
}
return s.substring(start,end+1);
}
}
问题:s.substring(start,end+1)中的start,end是怎么得到的?为什么是end+1?求解
------解决方案--------------------

------解决方案--------------------
一开始start从0开始,然后判断第一个字符是否为空,如果为空,就++,这样就找到了第一个不为空的字符索引
end也一样
为什么要+1,见上面的API
------解决方案--------------------
"abc"你可以看个简化版本的s字符串,自己推导一下
int start=0,end=s.length()-1; //start=0 end=2
s.substring(start,end); // 结果ab
这样你明白否?
------解决方案--------------------
对啊,此时start的值就是0了
在论坛里,你要引用下我,我才能受到啊……就像我这样