一:题目描述
二:题目解答
题目是关于字符串分隔的。我们应该回忆起Java里面的两个方法,第一个是按序号分隔字符串的,也就是String.substring(0,8),这就是截取字符串[0,8)的字符串。另外一个是String.substring(8),是截取8以后的字符串,包括8。
当我们记起来这两个方法之后,那么我们的编程题就可以得到较好的解决了。
首先,我们需要循环读取输入的nextLine(),也就是,
每次读取一行,就调用一次sqilt()方法,也就是分隔字符串并输出的方法。
public static void sqilt(String s){
//int length =s.length();
while(s.length()>=8){
System.out.println(s.substring(0,8));
s=s.substring(8);
}
if(s.length()<8&&s.length()>0){
s+="00000000";
System.out.println(s.substring(0,8));
}
}
当字符串长度大于8时,我们需要进行一个循环,因为它可能是8的很多倍,每一个8位就换行输出一次,然后去掉输出的字符。再次重复这个过程。
当字符长度小于8时。我们现在字符上加上8个0,然后再截取总字符串的前8位输出就可以了。
全部代码如下:
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNextLine()){
String s=sc.nextLine();
sqilt(s);
}
}
public static void sqilt(String s){
//int length =s.length();
while(s.length()>=8){
System.out.println(s.substring(0,8));
s=s.substring(8);
}
if(s.length()<8&&s.length()>0){
s+="00000000";
System.out.println(s.substring(0,8));
}
}
}