【华为OJ4】字符串分隔

题目描述

•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。


输入描述:

连续输入字符串(输入2次,每个字符串长度小于100)



输出描述:

输出到长度为8的新字符串数组


输入例子:
abc
123456789

输出例子:
abc00000
12345678

90000000

//1 不足8,缺几位就补几个0
//2 正好8,直接输出
//3 多于8,截取8输出,剩下的补0
import java.util.Scanner;

public class Main{
    
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        StringBuilder sb=new StringBuilder(256);
        while(sc.hasNext()){
            sb.setLength(0);
            
            String str=sc.nextLine();
            spliString(sb,str);
            
            str=sc.nextLine();
            spliString(sb,str);
            
            System.out.print(sb);
        }
        sc.close();
    }
    public static void spliString(StringBuilder sb,String str){
        if(str==null ||str.length()<=0)
            return ;
        int index=0;
        //1 若字符串数 > 8,就直接截取8整数部分的字符串
        while((index+=8) < str.length()){
            sb.append(str.substring(index-8,index)).append("\n");
        }
        
        //2 代表最后字符不够8个或者刚好是8个,需要补0
        //例如:12345678 12345678 abc
        if(index>=str.length()){
            sb.append(str.substring(index-8,str.length()));
            for(int i=str.length();i<index;i++){
                sb.append(0);
            }
            sb.append("\n");
        }
    }
}


你可能感兴趣的:(【华为OJ4】字符串分隔)