String类的练习

//1.模拟一个trim方法,去除字符串两端的空格。
   public String MyTrim(String str){
     int beginIndex = 0;
     int endIndex = 0;
     String newstr;
     for(int i=0;i<str.length();i++){
         //char c = str.charAt(i);     
        // if((String.valueOf(c)) != " "){
         if(str.charAt(i)!= ' '){   //注意 ' '为char型," "为String型
             beginIndex = i; 
             break;
         }        
     }
     for(int i=str.length()-1;i>=0;i--){
         if(str.charAt(i)!= ' '){
             endIndex = i; 
             break;
         }        
     }
     newstr = str.substring(beginIndex, endIndex+1);
     return newstr;
   }
//2.将一个字符串进行反转。将字符串中指定部分进行反转。比如将“abcdefg”反转为”abfedcg”
 public String reverseString(String str,int begin,int end){
      char[] c = str.toCharArray();
      return reverseChar(c,begin,end);
       
   }
   public String reverseChar(char[] c,int begin,int end){
      for(int x=begin,y=end;x<y;x++,y--){
          char num = c[x];
           c[x] = c[y];
           c[y] = num;
      }
      return new String(c);
   }
/*3 获取一个字符串在另一个字符串中出现的次数。比如:获取“ ab”在 “abkkcadkabkebfkabkskab”    
中出现的次数
*/
public int countStr(String str1,String str2){
        int i;
        int count = 0;
        while((i= str2.indexOf(str1))!=-1){  //优化代码
        count++;
        str2 = str2.substring(i+str1.length());
        }
        return count;
    }
/*
 *4 获取两个字符串中最大相同子串。比如:
   str1 = "abcwerthelloyuiodef“;str2 = "cvthellobnm"
   提示:将短的那个串进行长度依次递减的子串与较长  
   的串比较。
 */
public List<String> getSubString(String s1,String s2){
       String minstr = (s1.length()<s2.length())?s1:s2;
       String maxstr = (s1.length()>s2.length())?s1:s2;
       List<String> list = new ArrayList();
      for(int t=0;t<minstr.length();t++){
       for(int i=0,j=minstr.length()-1-t;i<j&&j<minstr.length();i++,j++){
            String minsp = minstr.substring(i, j);
           if(maxstr.contains(minsp)){
               list.add(minsp);
               
           }       
       }
       if(list.size()!= 0){
           return list;
           }
   }
      return null;
}
/*
 * 5.对字符串中字符进行自然顺序排序。
提示:
1)字符串变成字符数组。
2)对数组排序,选择,冒泡,Arrays.sort();
3)将排序后的数组变成字符串。

 */
public String toArrays(String s){
        char[] c = s.toCharArray();
        Arrays.sort(c);
        //return new String(c);
        return String.valueOf(c);
    }
posted on 2014-12-14 23:25  追梦的小屁孩  阅读(279)  评论(0编辑  收藏  举报