• 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);
        }
  • 相关阅读:
    Asp.net Treeview 客户端选中效果实现 (初级)
    MYSQL生成日历表,通常在做报表的时候需要用来生成一个临时表,用来左连接等。
    写了一个抽奖类,感觉还不错,可以适合各种变化
    将系统的内部类:HttpValueCollection 移到自己的系统中,使其能方便的解析id=1&name=张三&sex=男这样的字符串参数 querystring
    指定某个文件的创建 修改 访问时间
    Reqeust["keyname"] 的读取顺序
    pku1463 Strategic game
    pku1947 Rebuilding Roads
    pku1848 Tree
    pku1056 IMMEDIATE DECODABILITY
  • 原文地址:https://www.cnblogs.com/yjtm53/p/4163922.html
Copyright © 2020-2023  润新知