华为面试题1:
按要求分解字符串,输入个数N;
N代表输入的M串字符串,输出的每串字符串的8位数,不够补0。
例如:输入2,
“abc” ,“123456789”,
则输出为“abc00000”,“12345678“,”90000000”
java代码:
package test;
//用了迭代的方法
import java.util.Scanner;
public class Demo2 {
static int wei;
static String residue;
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
//定义输入字符串数!
int ge =in.nextInt();
//获取输入的字符串!
String s[]=new String[ge];
for(int i=ge-1;i>=0;i--) {
s[i]=in.next();
}
for (int i = 0; i < s.length; i++) {
//输出字符串方法
getNewString(s[i]);
System.out.print("\t"); //添加缩进符号
while(residue!=null){ //当剩余不为空的时候需要继续执行
getNewString(residue);
System.out.print("\t"); //添加缩进符号
}
}
}
public static void getNewString(String s) { //多的裁剪,少的补0
if(s.length()<8){
System.out.print(s);
for (int i = 0; i < 8-s.length(); i++) { //补全所缺的代码
System.out.print("0");
}
residue=null;
}else{
System.out.print(s.substring(0, 8)); //截取最多的位数
residue=s.substring(8,s.length()); //截取后面的位数存起来
}
}
}