substring(int i,int j)
这个方法第一个参数表示起始位置,从0开始算
第二个参数表示偏移量
所以for(int i=1;i<=text.length();i+=num)
  {
   returntext=returntext+text.substring(i,i+num+1);
   if(i+num<text.length())
    returntext=returntext+word;
  }
这边肯定有问题

解决方案 »

  1.   

    /**
     * <p>Title: 判</p>
     * <p>Copyright: Copyright (c) 2004</p>
     * <p>Company: 广东公司</p>
     * @author 网络信息部 庆丰
     * @version 1.0
     */package web.com;public class isChinese {
      public isChinese() {
      }  /**
       * 输入的字符是否是中文
       * @param a char
       * @return boolean
       */
      public boolean isChinese(char a) {
        int v = (int) a;
        return (v >= 19968 && v <= 171941);
      }  /**
       * 获取字符串有中文的数目
       * @param a String
       * @return int
       */
      public int Chineses(String a) {
        int cnt = 0;
        for (int i = 0; i < a.length(); i++) {
          if (isChinese(a.charAt(i))) {
            cnt++;
          }
        }
        return cnt;
      }  /**
       * 根据字节数来剪切字符串,类似substring
       * @param a String 字符串
       * @param n int 指定字节数 英文占1个字节 中文占两个字节
       * @return String
       */
      public String cutString(String a, int n) {
        int num = 0;
        String b="";
        for (int i = 0; i < a.length(); i++) {
          if (isChinese(a.charAt(i))) {
            num = num + 2;
          }
          else num++;
          b = b + a.charAt(i);
          if(num>=n-1){
           break;
          }    }
        return b;
      }
       public static void main(String args[]) {
         isChinese a=new isChinese();
          System.out.print(a.cutString("fqf.庆丰",100));
       }
    }
      

  2.   

    substring(i,i+num+1);    i+num+1越界呢 
    刚才在另外一个贴 老是发送不成功 晕