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

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


          網站導航:
           
          主站蜘蛛池模板: 安康市| 财经| 陆河县| 白沙| 南充市| 临朐县| 乌兰县| 泰州市| 新乡县| 石首市| 安顺市| 华池县| 清原| 伊春市| 乌鲁木齐市| 石首市| 龙岩市| 濉溪县| 四子王旗| 岢岚县| 凤庆县| 石城县| 丹东市| 吉木乃县| 鲁甸县| 临沭县| 科尔| 郎溪县| 勐海县| 克东县| 宜川县| 龙井市| 灵武市| 安达市| 临高县| 疏勒县| 和龙市| 如皋市| 孟津县| 会昌县| 绍兴市|