關於String的統計字符出現次數及字符串的反轉


統計一個字符串中某個字符出現的次數

  • replace方法統計字符串中某個字符出現的次數
    • 利用replace替換空字符,並用原字符串長度減去替換后的新字符串的長度
  • split方法統計字符串中某個字符出現的次數
    • 利用split分割,並統計分割后的數組長度

replace方法統計字符串中某個字符出現的次數---代碼如下: 

  /**
     * @Title:replaceCountTimes
     * @date:2020年5月5日 下午2:18:38  
     * @Description:TODO replace方法統計字符串中某個字符出現的次數
     * void
     */
    public static void replaceCountTimes () {
        // 原字符串
        String str = "ABC123ABC";
        // 某個字符
        String searchChar = "B";
        // 統計次數初始為0
        int count = 0;
        // 原字符串的長度
        int origialLength = str.length();
        // 把某個字符替換為"",生成新字符串
        str = str.replace(searchChar, "");
        // 出現次數 = 原字符串的長度-新字符串的長度
        count = origialLength - str.length();
        System.out.println("字符" + searchChar + "出現的次數為:" + count);
    }

split方法統計字符串中某個字符出現的次數---代碼如下:

  /**
     * @Title:splitCountTimes
     * @date:2020年5月5日 下午2:27:47  
     * @Description:TODO  split方法統計字符串中某個字符出現的次數
     * void
     */
    public static void splitCountTimes () {
        // 原字符串
        String str = "ABC123ABC";
        /**
         * --1.split根據某個字符分割成數組
         * --2.出現次數 = 分割后的數組長度
         */
        int count = str.split("B").length;
        System.out.println("字符" + str + "出現的次數為:" + count);
    }

實現字符串的反轉

  • StringBuilder方法反轉字符串
    • 利用StringBuilder的reverse
  • Stack方法反轉字符串
    • 利用棧的先進后

StringBuilder方法反轉字符串---代碼如下:

  /**
     * @Title:StringBuilderReverseStr
     * @date:2020年5月5日 下午2:40:46  
     * @Description:TODO StringBuilder方法反轉字符串
     * void
     */
    public static void StringBuilderReverseStr () {
        // 原字符串
        String str = "ABC123ABC";
        System.out.println("反轉前:" + str);
        // 把原字符串轉為StringBuilder
        StringBuilder stringBuilder = new StringBuilder(str);
        // StringBuilder的字符串反轉方法
        stringBuilder.reverse();
        // 反轉后字符串
        str = stringBuilder.toString();
        System.out.println("反轉后:" + str);
    }

Stack方法反轉字符串---代碼如下:

  /**
     * @Title:stackReverseStr
     * @date:2020年5月5日 下午2:41:47  
     * @Description:TODO Stack方法反轉字符串
     * void
     */
    public static void stackReverseStr () {
        // 原字符串
        String str = "ABC123ABC";
        System.out.println("反轉前:" + str);
        // 轉為char數組
        char[] charArray = str.toCharArray();
        // new 出一個Stack
        Stack<Character> stack = new Stack<>();
        // 遍歷char數組並順序放入Stack中
        for (char item : charArray) {
            // Pushes an item onto the top of this stack
            stack.push(item);
        }
        // 初始原字符串為""
        str = "";
        /**
         * --1.遍歷char數組
         * --2.利用Stack的后進先出
         * --3.即為反轉后字符串
         */
        for (int i = 0; i < charArray.length; i++) {
            // Removes the object at the top of this stack and returns that object as the value of this function
            str+=stack.pop();
        }
        System.out.println("反轉后:" + str);
    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM