黑马程序员技术交流社区
标题:
请教一下去除空格的问题
[打印本页]
作者:
滴水石穿
时间:
2014-12-25 20:02
标题:
请教一下去除空格的问题
/*
* 去除字符串中的空格
*/
public class Demo16 {
public static void main(String[] args) {
// 给定一个带空格的字符串
String s = " abcd f ";
sop("去除之前:"+s);
String ss = trim(s);
sop("去除之后:"+ss);
}
public static void sop(String str){
System.out.println(str);
}
public static String trim(String str){
// 定义了首和尾
int start = 0,end = str.length()-1;
// 然后循环判断
while(start<=end && str.charAt(start)==' ')
start++;
while(start<=end && str.charAt(end)==' ')
end--;
// 获取字符串的子串 因为保函头不包含尾所以end要加1
return str.substring(start,end+1);
}
}
/*
* //不明白这一句以及下面的while循环的第一句什么意思啊?
* while(start<=end && str.charAt(start)==' ')
*/
作者:
Honelyboy
时间:
2014-12-25 20:12
字符数组首地址索引小于未地址索引且字符数组第一个元素为空格时,条件成立。执行循环体
作者:
ben_vs_cong
时间:
2014-12-25 20:30
while(start<=end && str.charAt(start)==' ') 这句话的意思就是记录不包含' '这个时的索引地址。从str的0下标开始,字符于' '相比,满足就start+1,进行下一个比较,知道遇到第一个不为' '时,就结束循环,此时的start就是记录了除去前面空格之后的第一个索引地址。下面的end也是一样,只是顺序是从最后往前查找。再用substring这个截取出字符串
作者:
滴水石穿
时间:
2014-12-25 21:21
ben_vs_cong 发表于 2014-12-25 20:30
while(start
谢谢您了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2