<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    當柳上原的風吹向天際的時候...

    真正的快樂來源于創造

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      368 Posts :: 1 Stories :: 201 Comments :: 0 Trackbacks
    題設:
    請制作一個類,它可以累計多個字符串中字母的出現次數,最后可以以從高到低的順序打印出來,沒有出現過的字母不打印。
    如輸入的句子是:ajax和JavaScript,最后輸出是
    a出現了4次
    j出現了2次
    c出現了1次
    i出現了1次
    p出現了1次
    r出現了1次
    s出現了1次
    t出現了1次
    v出現了1次
    x出現了1次

    字母類:
    public class Letter{
      
    // 包含的字母
      private char c;
      
      
    // 字母出現的次數
      private int count;
      
      
    public void addCount(int count){
        
    this.count+=count;
      }


      
    public char getC() {
        
    return c;
      }


      
    public void setC(char c) {
        
    this.c = c;
      }


      
    public int getCount() {
        
    return count;
      }


      
    public void setCount(int count) {
        
    this.count = count;
      }

    }


    字母計數器類:
    public class LetterCaculator {
      
    // 儲存26個字母及其出現次數的數組
      private Letter[] letters;

      
    /**
       * 構造函數
       *
       
    */

      
    public LetterCaculator() {
        
    // 初始化數組
        letters = new Letter[26];

        
    // 初始化每個數組子項并給其中字母賦值
        for (int i = 0; i < letters.length; i++{
          letters[i] 
    = new Letter();
          letters[i].setC((
    char) ('a' + i));
        }

      }


      
    /**
       * 分析句子,累計其中字母出現次數,大小寫不論
       * 
    @param sentence
       
    */

      
    public void analyse(String sentence) {
        sentence
    =sentence.toLowerCase();
        
        
    for (int i = 0; i < sentence.length(); i++{
          
    char c = sentence.charAt(i);
          
          
    if(c>='a' && c<='z'){
            letters[c 
    - 'a'].addCount(1);
          }

        }

      }


      
    /**
       * 打印字母出現次數,出現零次不計
       *
       
    */

      
    public void printLettersInfo() {
        Letter[] letters2 
    = letters;
        insertSort(letters2);

        
    for (int i = letters2.length - 1; i > 0; i--{
          Letter letter 
    = letters2[i];

          
    if (letter.getCount() > 0{
            System.out.println(letter.getC() 
    + "出現了" + letter.getCount()
                
    + "");
          }
     else {
            
    break;
          }

        }

      }


      
    /**
       * 對數組進行排序
       * 
    @param arr
       
    */

      
    private static void insertSort(Letter[] arr) {
        
    int i;
        Letter temp;
        
    // 插入位置
        int insertPos;
        
    for (i = 1; i < arr.length; i++{
          
    // 當前需要進入已排序隊列的項
          temp = arr[i];
          insertPos 
    = i;

          
    // 在已排序序列中找到合適的位置
          while (0 < insertPos
              
    && arr[insertPos - 1].getCount() >= temp.getCount()) {
            arr[insertPos] 
    = arr[insertPos - 1];
            
    --insertPos;
          }


          
    // 當前項該處于的位置
          arr[insertPos] = temp;
        }

      }

    }


    測試語句:
    LetterCaculator letterCaculator=new LetterCaculator();

    //letterCaculator.analyse("struts");
    //letterCaculator.analyse("spring");
    //letterCaculator.analyse("Hibernate");
    letterCaculator.analyse("JavaScript");
    letterCaculator.analyse(
    "Ajax ");

    letterCaculator.printLettersInfo();

    輸出:
    a出現了4次
    j出現了2次
    c出現了1次
    i出現了1次
    p出現了1次
    r出現了1次
    s出現了1次
    t出現了1次
    v出現了1次
    x出現了1次
    posted on 2009-02-27 23:45 何楊 閱讀(383) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 国产成人免费高清在线观看| 成年女人毛片免费视频| 国产亚洲情侣一区二区无| 亚洲a∨无码精品色午夜| 女性无套免费网站在线看| 亚洲国产欧美国产综合一区| 蜜桃视频在线观看免费网址入口| 亚洲国产日韩精品| 精品免费国产一区二区三区| 日本系列1页亚洲系列| 免费午夜爽爽爽WWW视频十八禁 | 免费视频中文字幕| 亚洲爆乳无码专区www| 国产jizzjizz免费看jizz| 性生大片视频免费观看一级| 自拍偷自拍亚洲精品第1页| 久久狠狠躁免费观看2020| 久久久久亚洲av无码专区导航| 99re在线视频免费观看| 亚洲一区二区三区写真| 婷婷综合缴情亚洲狠狠尤物| 拍拍拍无挡免费视频网站| 亚洲视频在线观看不卡| 美女黄网站人色视频免费国产| 国产精品无码亚洲精品2021| 亚洲色婷婷综合久久| 777爽死你无码免费看一二区 | 亚洲最大成人网色| 国语成本人片免费av无码| 免费播放国产性色生活片| 国产aⅴ无码专区亚洲av| 97视频免费在线| 三级片免费观看久久| 亚洲综合激情视频| 亚洲AV日韩精品一区二区三区| 日本人成在线视频免费播放| 亚洲色偷偷色噜噜狠狠99| 自拍偷自拍亚洲精品被多人伦好爽| 亚洲免费视频观看| a级毛片免费观看网站| 亚洲av无码久久忘忧草|