思路

  1. 需要输入字符串,用到Scanner和hasNext()。
    (1)建立 Scanner sc = new Scanner(System.in);
    (2)判断有无输入用sc.hasNext().接收字符串使用sc.nextLine().
  2. 一次性接受全部的字符串,对8取余,获知需要补0的位数。使用StringBuilder中的append()函数进行字符串修改,别忘了toString()。
    字符串缓冲区的建立:StringBuilder sb = new StringBuilder();
  3. 输出时,截取前8位进行输出,并更新字符串。用到str.substring()函数:
    (1)str.substring(i)意为截取从字符索引第i位到末尾的字符串。
    (2)str.substring(i,j)意为截取索引第i位到第(j-1)位字符串。包含i,不包含j。

代码

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();
            StringBuilder sb = new StringBuilder();//牢记字符串缓冲区的建立语法
            sb.append(str);//字符串缓冲区的加入
            int size = str.length();
            int addZero = 8 - size%8;//addzero的可能值包括8
            while((addZero > 0)&&(addZero<8)){//注意边界调节,避免addzero=8
                sb.append("0");//使用‘’或“”都可
                addZero--;
            }
            String str1 = sb.toString();
            while(str1.length()>0){
                System.out.println(str1.substring(0,8));
                str1 = str1.substring(8);
            }

        }
    }
}