题目描述
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
输入描述:
连续输入字符串(输入2次,每个字符串长度小于100)
输出描述:
输出到长度为8的新字符串数组
输入例子:
abc 123456789
输出例子:
abc00000 1234567890000000
//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"); } } }