方案一:
import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        while(sc.hasNext()){
            String str=sc.nextLine();
            test(str);
        }
    }
    public static void test(String str){
        while(str.length()>=8){
            System.out.println(str.substring(0,8));
            str=str.substring(8);
        }
        while(str.length()<8&& str.length()>0){
            str+="00000000";
            System.out.println(str.substring(0,8));
        }
    }
}

方案二:
import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        while(sc.hasNext()){
            String str=sc.nextLine();
            //获取字符串长度
            int m=str.length();
            //假如字符串长度=8,原样输出;小于8,后面补充0
            if(m<=8){
                int n=8-m;
                System.out.print(str);
                for(int i=0;i<n;i++){
                  System.out.print("0");
                }
            }else{
                //字符串长度大于8
                int k=m/8;//计算8的倍数
                int k1=m%8;//取余
                //每次截取8个字符,注意开区间、闭区间
                for(int i=0;i<k*8;i++){
                    String str1=str.substring(i,i+8);
                    System.out.println(str1);
                    i+=7;
                }
                //如果不是8的整数倍,剩余的字符需要补0输出
                if(k1 !=0){
                    //截取8的整数倍后面的字符,8整数倍前面的字符已经输出
                    String str1=str.substring(k*8);
                    System.out.print(str1);
                    int l=8-str1.length();
                    for(int i=0;i<l;i++){
                       System.out.print("0");
                   }
                }
            }
        }
    }
}