思路
- 需要输入字符串,用到Scanner和hasNext()。
(1)建立 Scanner sc = new Scanner(System.in);
(2)判断有无输入用sc.hasNext().接收字符串使用sc.nextLine(). - 一次性接受全部的字符串,对8取余,获知需要补0的位数。使用StringBuilder中的append()函数进行字符串修改,别忘了toString()。
字符串缓冲区的建立:StringBuilder sb = new StringBuilder(); - 输出时,截取前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);
}
}
}
}