当前位置: 代码迷 >> J2SE >> 生手求解:模拟一个trim功能一致的方法。去除字符串两端的空白
  详细解决方案

生手求解:模拟一个trim功能一致的方法。去除字符串两端的空白

热度:18   发布时间:2016-04-23 20:24:08.0
新手求解:模拟一个trim功能一致的方法。去除字符串两端的空白
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


这样你明白否?



------解决方案--------------------
引用:
你说的这个明白
while循环那里,那个start是变量,
while判断为假时,start不再++了, 
而此时start的值就是那个不为空格字符的索引
所以直接拿来用?


对啊,此时start的值就是0了
在论坛里,你要引用下我,我才能受到啊……就像我这样
  相关解决方案