每日算法(2): 连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组,长度不是8整数倍的字符串请在后面补数字0,空字符串不处理

题目

连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
输入描述:
连续输入字符串(输入2次,每个字符串长度小于100)
举例:
输入: abc
123456789
输出:
abc00000
12345678
90000000

代码

public class EnterStringPrintSplit {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        // 循环连续读取
        while(sc.hasNext()){
            String line = sc.nextLine();
            printEight(line);
        }
    }

    private static void printEight(String line) {
        if(line.length()<=8){
            int num = 8 - line.length();
            StringBuffer stringBuffer = new StringBuffer(line);
            // 小于8后面补0
            for (int i = 0; i < num; i++) {
                stringBuffer.append(0);
            }
            System.out.println(stringBuffer.toString());
        }else{
            String substring = line.substring(0, 8);
            System.out.println(substring);
            // 长度超过8的递归处理
            printEight(line.substring(8));
        }
    }
}

测试:

posted @ 2020-06-24 09:26  侯小厨  阅读(1202)  评论(0编辑  收藏  举报
Fork me on Gitee