import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String str=in.nextLine(); str=str+"0000000"; for(int i=0;i<str.length()-7;i+=8){ System.out.println(str.substring(i,i+8)); } } }
首先是定义字符串
String str=in.nextLine();
之后按照8的间隔分开,后面补0,并不需要检测是否是满的最后补0,直接在原字符串后面补七个0就行
然后在for循环里面,用i<str.length()-7来判定,这样子就不会额外的输出了
比如str长度为1-8,第一次判定后0+8=8<1-8一定是失败的,只有str长度到9,才会输出下一段
用str.substring(i,i+8)可以输出字符串中固定位置的字符
str=str+"0000000";
for(int i=0;i<str.length()-7;i+=8){
System.out.println(str.substring(i,i+8));
}