题解 | #字符串分隔#
字符串分隔
http://www.nowcoder.com/practice/d9162298cb5a437aad722fccccaae8a7
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
while(scanner.hasNext()){
String str = scanner.nextLine();
//方法一:利用StringBuffer缓冲将字符串切割
//使用StringBuffer缓冲,是线程安全的
StringBuffer strBuffer = new StringBuffer();
//首先将输入的字符串放到缓冲中
strBuffer.append(str);
//根据题意使用默认长度 减去 当前输入字符串长度与默认长度的取余的值 得到 当前字符串长度与默认长度之间相差几位索引。
int length = 8 - str.length() % 8;
while((length > 0)&&(length<8)){//保证索引正常不超出边界,控制在0~8之间
strBuffer.append("0");
length--;//避免死循环
}
String newStr = strBuffer.toString();
while(newStr.length()>0){
System.out.println(newStr.substring(0,8));//只获取8位的字符串
newStr = newStr.substring(8);//如果超出则从超出的索引位置重新循环组装新的字符串
}
//方法二:利用递归实现
// buildStr(str);
}
}
private static void buildStr(String str){
if(str.length()>8){
System.out.println(str.substring(0,8));
buildStr(str.substring(8));
}else{
int num = str.length() % 8;//取余
for(int i=0;i<8-num;i++){
str+="0";
}
System.out.println(str);
}
}
}