主要思路

  • 注意最后是要用0来填充的,那么如果说,我一开始就设定一个“00000000”字符串,然后看输入的字符串,假如3位,那我直接替换开头三个字符就行(不用去循环添加“0”,加个循环耗时),String的replace做不到,但是StringBuilder的replace做得到,可根据指定位置替换字符串。剩下的刚好满足8个或超出8个自己判断直接输出或做个循环就行。
import java.lang.*;
import java.util.*;

public class Main{
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNextLine()){
            StringBuilder result = new StringBuilder("00000000");
            String line = scanner.nextLine();
            if (line.length() == 0){
                continue;
            } else if (line.length() <= 8){
                result.replace(0, line.length(), line);
                System.out.println(result);
            } else{
                for (int i = 0;i < line.length();i+=8){
                    if (i + 8 < line.length()){
                        System.out.println(line.substring(i, i + 8));
                    } else{
                        StringBuilder r = new StringBuilder("00000000");
                        System.out.println(r.replace(0, line.length() - i, line.substring(i, line.length())));
                    }
                }
            }
        }

    }
}