华为机试-4-字符串分隔
- 题目:
连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
输入描述:
连续输入字符串(输入2次,每个字符串长度小于100)
输出描述:
输出到长度为8的新字符串数组
- 示例:
输入
abc
123456789
输出
abc00000
12345678
90000000
- 代码
import java.util.Scanner;
import java.lang.Math;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNextLine()){
String line = sc.nextLine();
for(String str:strSplit(line)){
System.out.println(str);
}
}
}
public static String[] strSplit(String str){
//注意要除以8.0
int length = (int)Math.ceil(str.length()/8.0);
String[] strArrays = new String[length];
if(str.length()%8!=0){
str = str + "00000000";
}
for(int i =0;i<length;i++){
//注意切割长度
strArrays[i] = str.substring(i*8,i*8+8);
}
return strArrays;
}
}
- 注意:
1、Math的包为java.lang.Math,返回值为double型
2、substring()方法切割时为左闭右开