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

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


    網站導航:
     
    主站蜘蛛池模板: 精品亚洲永久免费精品| 国产免费69成人精品视频| 亚洲人成图片小说网站| 成人久久久观看免费毛片| 可以免费观看的一级毛片| 99久久免费看国产精品| 亚洲日韩中文无码久久| 日韩电影免费在线观看网站 | 最近中文字幕mv手机免费高清| 国产青草视频免费观看97| 亚洲国产成人无码AV在线| 精品久久久久久久免费人妻 | 久久久久久久尹人综合网亚洲| 中文字幕免费观看全部电影| 希望影院高清免费观看视频| 亚洲乱码一二三四区麻豆| 成人黄网站片免费视频| 亚洲av无码乱码国产精品 | 一个人免费观看www视频在线| 亚洲人成网77777色在线播放| 久久免费视频一区| 永久免费AV无码网站在线观看| 亚洲av永久无码| AV在线亚洲男人的天堂| 无码天堂va亚洲va在线va| 美女被免费喷白浆视频| 亚洲精品美女久久7777777| 免费国产成人高清在线观看麻豆| 国产精品成人免费观看| 亚洲无线电影官网| 精品亚洲永久免费精品| 亚洲日本国产精华液| 日韩免费a级在线观看| 久久一区二区免费播放| 亚洲精品电影天堂网| 日韩精品视频免费网址| 久青草视频97国内免费影视| 亚洲国产亚洲综合在线尤物| 免费看男女下面日出水视频| 久久精品成人免费看| 噜噜综合亚洲AV中文无码|