题目描述
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
输入描述:
连续输入字符串(输入2次,每个字符串长度小于100)
输出描述:
输出到长度为8的新字符串数组
输入例子:
abc
123456789
输出例子:
abc00000
12345678
90000000
//1 不足8,缺几位就补几个0
//2 正好8,直接输出
//3 多于8,截取8输出,剩下的补0
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
StringBuilder sb=new StringBuilder(256);
while(sc.hasNext()){
sb.setLength(0);
String str=sc.nextLine();
spliString(sb,str);
str=sc.nextLine();
spliString(sb,str);
System.out.print(sb);
}
sc.close();
}
public static void spliString(StringBuilder sb,String str){
if(str==null ||str.length()<=0)
return ;
int index=0;
//1 若字符串数 > 8,就直接截取8整数部分的字符串
while((index+=8) < str.length()){
sb.append(str.substring(index-8,index)).append("\n");
}
//2 代表最后字符不够8个或者刚好是8个,需要补0
//例如:12345678 12345678 abc
if(index>=str.length()){
sb.append(str.substring(index-8,str.length()));
for(int i=str.length();i<index;i++){
sb.append(0);
}
sb.append("\n");
}
}
}