描述
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
输入描述
连续输入字符串(输入多次,每个字符串长度小于100)
输出描述
输出到长度为8的新字符串数组
示例1
输入:
abc
123456789
复制
输出:
abc00000
12345678
90000000
题解1
运行时间34ms 占用内存10692KB
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNextLine()){
String input = sc.nextLine();
if(input.length()<8){
int length = 8-input.length();
for(int i=0;i<length;i++){
input = input+'0';
}
System.out.println(input);
}else if(input.length()==8){
System.out.println(input);
}else{
int count = input.length()/8;
int yushu = input.length()%8;
for(int i=1;i<=count;i++){
System.out.println(input.substring((i-1)*8,i*8));
}
if(yushu!=0){
int length = 8-yushu;
String temp = input.substring(input.length()-yushu,input.length());
for(int i=0;i<length;i++)
temp = temp+'0';
System.out.println(temp);
}
}
}
}
}
题解2
运行时间34ms 占用内存10636KB
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNextLine()){
String input = sc.nextLine();
int addzero = 8 - input.length()%8;
StringBuilder sb = new StringBuilder();
sb.append(input);
while(addzero>0 && 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);
}
}
}
}