-         public   class Test2
 
 -         {
 
 -                 public static void splitIt(String str, int byteNum)
 
 -                 {
 
 -                         byte bt[] = str.getBytes();                //将字符串以字节数组形式存储
 
 -                         //字符串中的中文以两个字节元素的形式存在(该数据为负),字母以一个字节元素的形式存在(该数据为正)
 
 -                         /*        如果你不懂,可以去掉注释遍历一下该数组
 
 -                         for(int i=0;i<bt.length;i++){
 
 -                                 System.out.println("bt["+i+"]="+bt[i]);
 
 -                         }
 
 -                         */
 
 -                         
 
 -                         if (byteNum >= 1 )                //判断切割位置
 
 -                         {
 
 -                                 if (bt[byteNum] < 0 )        //当要切开的位置数据为负数,说明要打印的这个数为中文
 
 -                                 {                                                //则--byteNum,不要打印该字
 
 -                                         String substrx = new String(bt, 0 , -- byteNum);
 
 -                                         System.out.println(substrx);
 
 -                                 } else                                        //否则为正,即最后一个打印的数据为字母,打印
 
 -                                 {
 
 -                                         String substrex = new String(bt, 0 ,byteNum);
 
 -                                         System.out.println(substrex);
 
 -                                 }
 
 -                         } else                                        
 
 -                         {
 
 -                                 System.out.println( " 输入错误!!!请输入大于零的整数: " );
 
 -                         }
 
 -                 }
 
  
 
-                 public   static   void main(String args[])
 
 -                 {
 
 -                 String str = "HM程j序员" ;
 
 -                 int num = 6 ;
 
 -                 
 
 -                 splitIt(str,num);
 
 -                 }
 
  
-                 
 
 -         }
 
  复制代码 
 
我看了一下网上的代码,改了一下,你有什么不懂的再问我 |