while中用startsWith和endsWith判断,你的start在增加没错,但是你并没有将你得到的新字符串覆盖原来的字符串
对于第一个while,应改一下:
start++;
str=str.substring(start, str.length());
//测试
System.out.println(str);
对于第二个while,也要改一下:
end=str.length()-1;
str=str.substring(start,end);
System.out.println(str);
这样并没有解决@Cola你的问题,输出结果为ad cd,中间没去掉,希望给你带来一点思路。
我的思路与你这个不一样,这是我实现的代码,
- package heima;
- public class StringTest2 {
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- String s=" ab cd ";
- System.out.println(mytrim(s));
- }
- public static String mytrim(String str)
- {
-
-
- //生成新的字符串
- char[] newstr=new char[str.length()];
- //计数
- int count=0;
- for(int i=0;i<str.length();i++)
- {
- char c=str.charAt(i);
- if(c!=' ')
- {
- newstr[count]=c;
- count++;
- }
- }
- return new String(newstr,0,count);
-
- }
- }
复制代码
|