华为基础训练---字符串分割

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


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

输入例子:
abc
123456789

输出例子:
abc00000
12345678
90000000


package 测试包;
import java.util.Scanner;
public class Test {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s1 = sc.nextLine();
        String s2 = sc.nextLine();
        sc.close();
        fenGe(s1);
        fenGe(s2);
    }
    private static void fenGe(String s) {
        int n = s.length();
        if (n == 0) {
            System.out.println();
            return;
        }
        if (n > 0 && n < 8) {
            String temp = "";
            for (int i = 1; i <= 8 - n; i++) {
                temp = temp + "0";
            }
            s = s + temp;
            System.out.println(s);
        }
        if (n % 8 == 0 && n >= 8) {
            for (int i = 1; i <= n / 8; i++) {
                String sub = "";
                sub = s.substring(8 * i - 8, 8 * i);
                System.out.println(sub);
            }
        }
        if (n % 8 != 0 && n / 8 >= 1) {
            String s1 = s.substring(0, (n / 8) * 8);
            String s2 = s.substring((n / 8) * 8, n);
            fenGe(s1);//递归
            fenGe(s2);//递归
        }
    }
}

本题要点:
s.subString(0,5)截取的是0-4的字符;
s.subString(5,10)截取的是5-9的字符

package 测试包;
public class Test01 {
    public static void main(String[] args) {
        String s = "HHHUUTTTOO";
        System.out.println(s.substring(0, 5));
        System.out.println(s.substring(5, 10));
    }
}

HHHUU
TTTOO

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章