import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 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); } } } }
- 需要输入字符串,用到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。