博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

在网上以前流传的代码是这样的:

 

class SplitString {    

String SplitStr;

    int SplitByte;

    
public SplitString(String str, int bytes) {
        SplitStr 
= str;
        SplitByte 
= bytes;
        System.out.println(
"The String is:′" + SplitStr + "′;SplitBytes="
                
+ SplitByte);
    }

    
public void SplitIt() {
        
int loopCount;
        loopCount 
= (SplitStr.length() % SplitByte == 0? (SplitStr.length() / SplitByte)
                : (SplitStr.length() 
/ SplitByte + 1);
        System.out.println(
"Will Split into " + loopCount);
        
for (int i = 1; i <= loopCount; i++) {
            
if (i == loopCount) {
                System.out.println(SplitStr.substring((i 
- 1* SplitByte,
                        SplitStr.length()));
            } 
else {
                System.out.println(SplitStr.substring((i 
- 1* SplitByte,
                        (i 
* SplitByte)));
            }
        }
    }
    
public static void main(String[] args) {
        SplitString ss 
= new SplitString(
                
"test中dd文dsdg老师的看见发lkjd"5);
        ss.SplitIt();
    }

}

我改进后的代码:

 

class SplitString {    

    String SplitStr;

    int SplitByte;

    
public SplitString(String str, int bytes) {
        SplitStr 
= str;
        SplitByte 
= bytes;
        System.out.println(
"The String is:′" + SplitStr + "′;SplitBytes="
        
+ SplitByte);
    }

    
public static void main(String[] args) {
        SplitString ss 
= new SplitString(
                
"test中dd文fasjaslkjdfalsjf师的看见发lkjd",4);
        ss.split();
    }

    
public void split() {
        
for (int i = 0, len = SplitStr.length(); i < len; i = i + SplitByte) {
            
if (i + SplitByte < len) {
                System.out.println(SplitStr.substring(i, i 
+ SplitByte));
            }
            
else {

                System.out.println(SplitStr.substring(i, len));
            }
        }
    }
}