我的漫漫程序之旅

          專注于JavaWeb開發
          隨筆 - 39, 文章 - 310, 評論 - 411, 引用 - 0
          數據加載中……

          查看一個字符串中出現次數最多的字符

          import java.util.*;

          @SuppressWarnings(
          "unchecked")
          public class Test
          {

              
          // 找出重復次數最多的字符,并打印出數量和字符
              public static void main(String[] args)
              
          {
                  String a 
          = "aaabbdcfeeswdfttrrccaa";
                  List ls 
          = new LinkedList();
                  Test test 
          = new Test();
                  
          for (int i = 0; i < a.length(); i++)
                  
          {
                      
          if (!test.isHave(ls, (a.charAt(i) + "")))
                      
          {
                          ls.add(a.charAt(i) 
          + "");
                      }

                  }

                  
          // 保存相應的位置的字母的個數
                  int[] ret = new int[ls.size()];
                  
          // 最大數
                  int max = 0;
                  
          for (int i = 0; i < ls.size(); i++)
                  
          {
                      ret[i] 
          = test.getNum(ls.get(i).toString(), a);
                      
          if (ret[i] > max)
                      
          {
                          max 
          = ret[i];
                      }

                  }

                  
          // 檢查個數最大的,返回位置列表
                  List ls2 = new LinkedList();
                  
          for (int i = 0; i < ret.length; i++)
                  
          {
                      
          if (ret[i] == max)
                      
          {
                          ls2.add(i 
          + "");
                      }

                  }


                  
          // 遍歷ls2,打印出相應字母和個數
                  System.out.println("\n打印出個數最多的字母及個數:");
                  
          for (int i = 0; i < ls2.size(); i++)
                  
          {
                      
          int m = Integer.parseInt(ls2.get(i).toString());
                      System.out.println(
          "字母:" + ls.get(i).toString() + "   個數:" + ret[m]);
                  }


                  System.out.println(
          "\n打印出所有字母及個數:");
                  
          for (int i = 0; i < ret.length; i++)
                  
          {
                      System.out.println(
          "字母:" + ls.get(i).toString() + "   個數:" + ret[i]);
                  }

              }


              
          // 查詢該列表 ls 是否有該字符
              private boolean isHave(List ls, String k)
              
          {
                  
          boolean flag = false;
                  
          for (int i = 0; i < ls.size(); i++)
                  
          {
                      
          if (ls.get(i).toString().equals(k))
                      
          {
                          flag 
          = true;
                          
          break;
                      }

                  }

                  
          return flag;
              }


              
          // 查詢 a 中有幾個 k
              private int getNum(String k, String a)
              
          {
                  
          int j = 0;
                  
          for (int i = 0; i < a.length(); i++)
                  
          {
                      
          if ((a.charAt(i) + "").equals(k))
                      
          {
                          j
          ++;
                      }

                  }

                  
          return j;
              }

          }



          posted on 2008-05-05 23:17 々上善若水々 閱讀(2322) 評論(0)  編輯  收藏 所屬分類: J2SE

          主站蜘蛛池模板: 遂川县| 宁德市| 隆昌县| 肃宁县| 普定县| 定陶县| 西乡县| 江源县| 安丘市| 东乌| 家居| 涞水县| 阿鲁科尔沁旗| 高邑县| 凌海市| 朝阳县| 垣曲县| 万全县| 修文县| 鄱阳县| 浙江省| 扬中市| 东乡| 竹溪县| 海林市| 河津市| 黑水县| 赤城县| 云霄县| 巩留县| 长乐市| 广南县| 黎城县| 宁都县| 临海市| 巴彦淖尔市| 安义县| 资溪县| 临汾市| 乌拉特后旗| 安达市|