|
华为机试在线训练:字符串分隔
题目描述
·连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
·长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
输入描述:
连续输入字符串(输入2次,每个字符串长度小于100)
输出描述:
输出到长度为8的新字符串数组
输入例子:
abc
123456789
输出例子:
abc00000
12345678
90000000
代码:
import java.util.Arrays;
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] str = new String[100];
int n = 0;
while(sc.hasNext()){
String tmp = sc.nextLine();
str[n] = completeStr(tmp);
n++;
}
for(int i = 0; i < n; i++){
printStr(str);
}
}
//字符串填充成8*n长度
static String completeStr(String str){
int len = str.length();
int modNum = len % 8;
if(modNum != 0){
char[] ch = new char[8 - modNum];
Arrays.fill(ch, '0');
String strCat = new String(ch);
str = str.concat(strCat);
}
return str;
}
//分段打印
static void printStr(String str){
int len = str.length();
int num = len/ 8;
for(int i =1; i <= num; i++){
String tmp = str.substring((i - 1)*8, i*8 );
System.out.println(tmp);
}
}
} |
|
|