posts - 4,  comments - 0,  trackbacks - 0
          把一個長的字符串變成短的字符串,并且在每一行末尾加入 \n


          /**
               * 計算字符串的 ascii 碼長度
               * 
               * 
          @param s
               * 
          @return
               
          */
              
          public int strLength(String s) {
                  
          int result = 0;
                  
          for (int i = 0; i < s.length(); i++) {
                      
          if (isDoublebyteWord(s.substring(i, i + 1))) {
                          result 
          += 2;
                      } 
          else {
                          result 
          += 1;
                      }
                  }
                  
          return result;
              }

              
          /**
               * 判斷是否雙字節字符
               * 
               * 
          @param str
               * 
          @return
               
          */
              
          public boolean isDoublebyteWord(String str) {
                  System.out.println(str);
                  
          byte[] b;
                  
          int temp;
                  
          for (int i = 0; i < str.length(); i++) {
                      b 
          = str.substring(i, i + 1).getBytes();
                      temp 
          = b[0];
                      
          if (temp > 0) {
                          
          return false;
                      }
                  }
                  
          return true;
              }

              
          /**
               * 公割字符串
               * 
          @param s 字符串
               * 
          @param len 一小段的長度
               * 
          @return
               
          */
              
          public static String changeString(String s, int len) {
                  
                  LongStringToShort lts
          =new LongStringToShort();
                  
                  String result 
          = "";
                  len 
          = (int) len / 8;
                  
          int totalLen = lts.strLength(s);
                  
          // 錯誤調用
                  if (s.length() < 1 || len < 1)
                      
          return "";
                  
          // 只有一小段,不分割
                  if (totalLen < len)
                      
          return s;

                  
          // 計算該字符串應該分幾段
                  int num = (int) totalLen / len;
                  
          if (((float) totalLen / len) > num)
                      num
          ++;
                  System.out.println(
          "應該分" + num + "" + len);
                  
          int sl = 0;
                  
          for (int i = 0; i < s.length(); i++) {
                      String temp 
          = s.substring(i, i + 1);
                      
          if (lts.isDoublebyteWord(temp)) {
                          sl 
          += 2;
                      } 
          else {
                          sl 
          += 1;
                      }
                      result 
          += temp;

                      
          if (sl > (len - 1)) {
                          System.out.println(
          "hello");
                          sl 
          = 0;
                          result 
          += "\n";
                          
          continue;
                      }
                  }
                  
          return result;
              }    
          posted on 2008-05-04 15:41 jiang 閱讀(2174) 評論(0)  編輯  收藏 所屬分類: java

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


          網站導航:
           
          主站蜘蛛池模板: 嵊州市| 旬阳县| 双江| 伽师县| 资源县| 赣榆县| 临泽县| 凤山市| 石林| 侯马市| 绥棱县| 榆树市| 津市市| 望城县| 横峰县| 嘉善县| 大石桥市| 赣榆县| 阿拉善盟| 柳河县| 体育| 桑植县| 普陀区| 鹤庆县| 安达市| 张家口市| 姚安县| 宜黄县| 扎囊县| 合肥市| 鹤山市| 乌恰县| 垦利县| 墨竹工卡县| 潜山县| 信阳市| 宜城市| 博罗县| 景泰县| 朝阳市| 沈阳市|