A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王延龙 中级黑马   /  2013-7-19 04:06  /  979 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. public class Show{

  2.         public static void main(String[] args){
  3.        
  4.                 String s = "     a  c d  ";

  5.                 //        System.out.println(s.trim());

  6.                 s = myTrim(s);

  7.                 System.out.println("-"+s+"-");
  8.         }

  9.         public static String myTrim(String s){
  10.        
  11.                 int start = 0;

  12.                 int end = s.length()-1;

  13.                 while(start <= end && s.charAt(start) == " "){
  14.                
  15.                         start++;
  16.                 }

  17.                 while(end >= 0 && s.charAt(start) == " "){
  18.                
  19.                         end--;
  20.                 }

  21.                 return s.substring(start,end+1);
  22.         }
  23. }

  24. //很困了,检查了多遍没有发现错在哪? 揪心啊,抓狂了,喵了个咪的
复制代码

评分

参与人数 1技术分 +1 收起 理由
杜光 + 1 每天提问并回答问题,是对知识的复习和积累.

查看全部评分

3 个回复

倒序浏览
  1. public class Show{

  2.     public static void main(String[] args){
  3.    
  4.             String s = "     a  c d  ";

  5.             //        System.out.println(s.trim());

  6.             s = myTrim(s);

  7.             System.out.println("-"+s+"-");
  8.     }

  9.     public static String myTrim(String s){
  10.    
  11.             int start = 0;

  12.             int end = s.length()-1;

  13.             while(start <= end && s.charAt(start) == ' ')//s.charAt()换回值类型是char类型 ,应该为' '
  14.             {
  15.             
  16.                     start++;
  17.             }

  18.             while(end >= 0 && s.charAt(end) == ' ')//start应改为end
  19.             {
  20.             
  21.                     end--;
  22.             }

  23.             return s.substring(start,end+1);
  24.     }
  25. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
杜光 + 1 每天提问并回答问题,是对知识的复习和积累.

查看全部评分

回复 使用道具 举报
尽管不知道LZ是怎么想的,,不过LZ还是看一下我的吧


public class NumTest {
public static void main(String[] args) {
  String s = "     a  c d  ";
  // System.out.println(s.trim());
  s = myTrim(s);
  System.out.println(s);
}
public static String myTrim(String s) {
  StringBuilder sb = new StringBuilder();
  String str = null;
  for (int i = 0; i < s.length(); i++) {
   str = s.substring(i,i+1);
   if (!str.equals(" ")) {
    sb.append(str);
   }
  }
  return sb.toString();
}
}


我也困了.. 准备睡觉..

评分

参与人数 1技术分 +1 收起 理由
杜光 + 1 每天提问并回答问题,是对知识的复习和积累.

查看全部评分

回复 使用道具 举报
把  while(end >= 0 && s.charAt(start) == " ")中的 start 改成 end 就可以了  end这个循环是应该从后面开始不是前面开始,

我刚开始时也是复制过去 忘记改了  后面检测了许久也没看出来     当结果出来的时候不是理想中的时候  其实检查的时候不需要去看那些语法什么的 只要瞅着这个方法的几个关键的点看就行了  省去不少时间。

希望帮到了你
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马