我的漫漫程序之旅

          專注于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

          主站蜘蛛池模板: 池州市| 越西县| 闵行区| 丰台区| 策勒县| 巴林左旗| 八宿县| 香港| 佛山市| 阿巴嘎旗| 兰西县| 嵊州市| 砀山县| 霍林郭勒市| 辽阳市| 海盐县| 西和县| 横山县| 革吉县| 襄城县| 安庆市| 临西县| 江达县| 敦化市| 邳州市| 弥渡县| 新巴尔虎右旗| 准格尔旗| 师宗县| 女性| 德阳市| 徐汇区| 罗田县| 察隅县| 山东| 昌黎县| 鄂托克前旗| 鹤山市| 攀枝花市| 南充市| 五华县|