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

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


    網站導航:
     
    主站蜘蛛池模板: 特级毛片免费观看视频| 永久免费无码网站在线观看个| 国产成年无码久久久免费| 亚洲毛片网址在线观看中文字幕| 精品韩国亚洲av无码不卡区| 日韩免费无码一区二区视频| 日韩亚洲翔田千里在线| 亚洲免费在线观看| 成人片黄网站色大片免费观看cn| 日本亚洲国产一区二区三区| a毛片全部播放免费视频完整18| 亚洲爆乳无码专区| 久热中文字幕在线精品免费| 亚洲av日韩av综合| 免费a级黄色毛片| 国产色无码精品视频免费| 亚洲天堂中文资源| 一个人看www在线高清免费看 | 久久精品乱子伦免费| 亚洲综合日韩中文字幕v在线 | 国产精品另类激情久久久免费| 欧美色欧美亚洲另类二区| 亚洲av无码专区在线观看素人| 亚洲国产免费综合| 亚洲视频中文字幕在线| 免费无码黄动漫在线观看| 久久久久国色AV免费观看| 亚洲国产人成网站在线电影动漫| 久久天天躁狠狠躁夜夜免费观看| AV激情亚洲男人的天堂国语| 亚洲天堂免费在线视频| 91免费国产精品| 菠萝菠萝蜜在线免费视频| 久久综合九九亚洲一区| 久久久久免费看黄A片APP| 羞羞视频免费网站日本| 亚洲黄色网址在线观看| 亚洲国产一级在线观看| 69av免费视频| 国产成人无码精品久久久久免费 | 亚洲欧洲日本精品|