<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)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 久久久久亚洲精品天堂| 国产精品一区二区三区免费| 91久久精品国产免费一区| 亚洲国产精品一区二区第四页 | 亚洲永久中文字幕在线| 亚洲爆乳无码专区www| 国产无遮挡裸体免费视频在线观看| 男女做羞羞的事视频免费观看无遮挡| 免费国产a国产片高清| 精品视频免费在线| 亚洲精品国产精品乱码不卡| www一区二区www免费| 亚洲热线99精品视频| 精品亚洲成a人在线观看| 国产一卡二卡≡卡四卡免费乱码| 国产亚洲视频在线播放大全| 亚洲中文字幕无码爆乳av中文| a级毛片毛片免费观看永久| 免费人成视频x8x8入口| eeuss草民免费| 精品亚洲国产成AV人片传媒| 日本XXX黄区免费看| 无码天堂亚洲国产AV| 在线a亚洲v天堂网2019无码| 边摸边吃奶边做爽免费视频99| 亚洲日韩中文在线精品第一| 免费视频一区二区| 在线a亚洲老鸭窝天堂av高清| 亚欧色视频在线观看免费| 亚洲综合激情五月丁香六月| 亚洲一区二区三区在线播放| 99久久久国产精品免费牛牛四川 | 久久综合久久综合亚洲| 18以下岁毛片在免费播放| 亚洲午夜无码久久久久小说 | 亚洲最新在线视频| 一级毛片在线免费观看| 亚洲人成无码网站在线观看| 亚洲五月综合缴情在线观看| 国产免费看JIZZ视频| 亚洲午夜久久久精品电影院|