思维模式

102 阅读1分钟

算法都是基础思路的拼接

字符串分隔 为例

•输入一个字符串,请按长度为8拆分每个输入字符串并进行输出;

•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。

1、获取处理的字符串

2、要截取肯定要遍历整个字符串

for (int i = 0; i < str.length(); i++) {
}

3、拼接子子字符串功能先加上、注意空格不拼接

StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
    if (str.charAt(i) != ' ') {
        sb.append(str.charAt(i));
    }
}

4、把8个字符作为一个子串的需求加上

先累加、遇到不符合条件时就清零重新一轮累加、的计数思想

int loop = 0;
StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
    if (loop == 8) {
        System.out.println(sb);
        sb = new StringBuilder();
        loop = 0;
    }
    if (str.charAt(i) != ' ') {
        sb.append(str.charAt(i));
        loop++;
    }
}

5、不够8个字符后面补0的需求加上

int loop = 0;
StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
    if (loop == 8) {
        System.out.println(sb);
        sb = new StringBuilder();
        loop = 0;
    }
    if (str.charAt(i) != ' ') {
        sb.append(str.charAt(i));
        loop++;
    }
}
if (sb.length() < 8) {
    for (int i = sb.length(); i < 8; i++) {
        sb.append(0);
    }
}
System.out.println(sb);