在网上以前流传的代码是这样的:
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));
}
}
}
}