posts - 13,  comments - 5,  trackbacks - 0

          package com.scs.common.function;

          public class GetCh2Spell {
            public static int compare(String str1, String str2) {
              int result = 0;
              String m_s1 = null;
              String m_s2 = null;
              try {
                m_s1 = new String(str1.getBytes(_FromEncode_), _ToEncode_);
                m_s2 = new String(str2.getBytes(_FromEncode_), _ToEncode_);
              }
              catch (Exception e) {
                return str1.compareTo(str2);
              }
              result = chineseCompareTo(m_s1, m_s2);
              return result;
            }

            public static int getCharCode(String s) {
              if (s == null && s.equals("")) {
                return -1;
              }
              byte b[] = s.getBytes();
              int value = 0;
              for (int i = 0; i < b.length && i <= 2; i++) {
                value = value * 100 + b[i];
              }

              return value;
            }

            public static int chineseCompareTo(String s1, String s2) {
              int len1 = s1.length();
              int len2 = s2.length();
              int n = Math.min(len1, len2);
              for (int i = 0; i < n; i++) {
                int s1_code = getCharCode(s1.charAt(i) + "");
                int s2_code = getCharCode(s2.charAt(i) + "");
                if (s1_code * s2_code < 0) {
                  return Math.min(s1_code, s2_code);
                }
                if (s1_code != s2_code) {
                  return s1_code - s2_code;
                }
              }

              return len1 - len2;
            }

            public static String getBeginCharacter(String res) {
              String a = res;
              String result = "";
              for (int i = 0; i < a.length(); i++) {
                String current = a.substring(i, i + 1);
                if (compare(current, "\u554A") < 0) {
                  result = result + current;
                }
                else
                if (compare(current, "\u554A") >= 0 &&
                    compare(current, "\u5EA7") <= 0) {
                  if (compare(current, "\u531D") >= 0) {
                    result = result + "z";
                  }
                  else
                  if (compare(current, "\u538B") >= 0) {
                    result = result + "y";
                  }
                  else
                  if (compare(current, "\u6614") >= 0) {
                    result = result + "x";
                  }
                  else
                  if (compare(current, "\u6316") >= 0) {
                    result = result + "w";
                  }
                  else
                  if (compare(current, "\u584C") >= 0) {
                    result = result + "t";
                  }
                  else
                  if (compare(current, "\u6492") >= 0) {
                    result = result + "s";
                  }
                  else
                  if (compare(current, "\u7136") >= 0) {
                    result = result + "r";
                  }
                  else
                  if (compare(current, "\u671F") >= 0) {
                    result = result + "q";
                  }
                  else
                  if (compare(current, "\u556A") >= 0) {
                    result = result + "p";
                  }
                  else
                  if (compare(current, "\u54E6") >= 0) {
                    result = result + "o";
                  }
                  else
                  if (compare(current, "\u62FF") >= 0) {
                    result = result + "n";
                  }
                  else
                  if (compare(current, "\u5988") >= 0) {
                    result = result + "m";
                  }
                  else
                  if (compare(current, "\u5783") >= 0) {
                    result = result + "l";
                  }
                  else
                  if (compare(current, "\u5580") >= 0) {
                    result = result + "k";
                  }
                  else
                  if (compare(current, "\u51FB") > 0) {
                    result = result + "j";
                  }
                  else
                  if (compare(current, "\u54C8") >= 0) {
                    result = result + "h";
                  }
                  else
                  if (compare(current, "\u5676") >= 0) {
                    result = result + "g";
                  }
                  else
                  if (compare(current, "\u53D1") >= 0) {
                    result = result + "f";
                  }
                  else
                  if (compare(current, "\u86FE") >= 0) {
                    result = result + "e";
                  }
                  else
                  if (compare(current, "\u642D") >= 0) {
                    result = result + "d";
                  }
                  else
                  if (compare(current, "\u64E6") >= 0) {
                    result = result + "c";
                  }
                  else
                  if (compare(current, "\u82AD") >= 0) {
                    result = result + "b";
                  }
                  else
                  if (compare(current, "\u554A") >= 0) {
                    result = result + "a";
                  }
                }
              }

              return result;
            }

            public static String getFirstStr(String str) {
              String temp = "";

              for (int i = 0; i < str.length(); i++) {
                String sss = "";
                char a = str.charAt(i);
                char aa[] = {
                    a
                };
                sss = new String(aa);
                if (Character.isDigit(aa[0])) {
                  sss = "data";
                }
                else
                if (a >= 'a' && a <= 'z' || a >= 'A' && a <= 'Z') {
                  sss = "character";
                }
                else {
                  sss = getBeginCharacter(sss);
                }
                temp = temp + sss;
              }

              return temp;
            }

            private static String _FromEncode_ = "GBK";
            private static String _ToEncode_ = "GBK";
          }
          項目中的一個類

          posted on 2005-12-08 17:34 snbna 閱讀(497) 評論(0)  編輯  收藏 所屬分類: Java的世界

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


          網站導航:
           
          <2005年12月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(4)

          隨筆分類(13)

          隨筆檔案(13)

          文章分類

          范冰冰

          搜索

          •  

          積分與排名

          • 積分 - 4181
          • 排名 - 3265

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 崇文区| 绥江县| 拉萨市| 大竹县| 玛纳斯县| 望谟县| 梁平县| 太仆寺旗| 夹江县| 黑山县| 万源市| 宁蒗| 陈巴尔虎旗| 略阳县| 姜堰市| 商都县| 监利县| 永州市| 文化| 手机| 汉阴县| 社会| 贵定县| 孝感市| 弋阳县| 霍州市| 藁城市| 平果县| 赣榆县| 会东县| 大田县| 班戈县| 双峰县| 乌兰察布市| 灵武市| 苍山县| 措美县| 石河子市| 密山市| 宜昌市| 恩平市|