• 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);
        }
  • 相关阅读:
    人脸识别算法初次了解
    白话经典算法系列之二 直接插入排序的三种实现
    常见浏览器兼容性问题与解决方式
    MP3的频率、比特率、码率与音质的关系
    程序猿接私活经验总结,来自csdn论坛语录
    Java虚拟机工作原理具体解释
    簡單SQL存儲過程實例
    全栈JavaScript之路(七)学习 Comment 类型节点.
    strdup函数的使用方法
    POJ 2823 Sliding Window 【单调队列】
  • 原文地址:https://www.cnblogs.com/yjtm53/p/4163922.html
Copyright © 2020-2023  润新知