每日算法(2): 连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组,长度不是8整数倍的字符串请在后面补数字0,空字符串不处理
题目
连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
输入描述:
连续输入字符串(输入2次,每个字符串长度小于100)
举例:
输入: abc
123456789
输出:
abc00000
12345678
90000000
代码
public class EnterStringPrintSplit {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 循环连续读取
while(sc.hasNext()){
String line = sc.nextLine();
printEight(line);
}
}
private static void printEight(String line) {
if(line.length()<=8){
int num = 8 - line.length();
StringBuffer stringBuffer = new StringBuffer(line);
// 小于8后面补0
for (int i = 0; i < num; i++) {
stringBuffer.append(0);
}
System.out.println(stringBuffer.toString());
}else{
String substring = line.substring(0, 8);
System.out.println(substring);
// 长度超过8的递归处理
printEight(line.substring(8));
}
}
}
测试: