描述
•输入一个字符串,请按长度为8拆分每个输入字符串并进行输出;
•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
输入描述:
连续输入字符串(每个字符串长度小于等于100)
输出描述:
依次输出所有分割后的长度为8的新字符串
示例1
输入:
abc
输出:
abc00000
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
String a = in.nextLine();
int len = a.length();
extractSubStr(a);
}
}
public static String extractSubStr(String str){
if(str.length() == 8)
{
System.out.println( str );
return str;
}
else if(str.length() < 8 ){
int zeroCount = 8 - str.length();
for (int i=0; i< zeroCount; i++){
str = str+'0';
}
System.out.println( str );
return str;
}
else if(str.length() > 8){
String str1 = str.substring(0,8);
System.out.println( str1);
str = str.substring(8,str.length());
return extractSubStr(str);
}
return "";
}
}
方法二:
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
String str = sc.nextLine();
StringBuilder sb = new StringBuilder();//字符串缓冲区
sb.append(str);
int size = str.length();
int addZero = 8 - size%8;//addzero的可能值包括8
while((addZero > 0)&&(addZero<8)){//注意边界调节,避免addzero=8
sb.append("0");//使用‘’或“”都可
addZero--;
}
String str1 = sb.toString();
while(str1.length()>0){
System.out.println(str1.substring(0,8));
str1 = str1.substring(8);
}
}
}
}
参考资料: