题解 | #字符串分隔#

字符串分隔

http://www.nowcoder.com/practice/d9162298cb5a437aad722fccccaae8a7

import java.util.Scanner;

/**
 * 字符串分隔:
 * •连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
 * •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
 *输入: abc
 *      123456789
 *
 * 输出:abc00000
 *      12345678
 *      90000000
 */
public class SplitStr {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        while (scanner.hasNext()){
            String str = scanner.nextLine();

            if (str.length() < 8){

                StringBuilder stringBuilder = new StringBuilder();
                //处理小于8的情况
                stringBuilder.append(str);
                while (stringBuilder.length() < 8){
                    stringBuilder.append("0");
                }
                System.out.println(stringBuilder);

            }else if (str.length() % 8 == 0){
                //如果为8的整数倍则直接进行分割子串,输出
                for (int i=0; i<str.length();i=i+8){
                    System.out.println(str.substring(i,i+8));
                }

            }else {//比8大,但不为整数倍:进行补全为整数倍,然后进行分割输出
                StringBuilder stringBuilder2 = new StringBuilder();
                stringBuilder2.append(str);
                while (stringBuilder2.length() % 8 != 0){
                    stringBuilder2.append("0");
                }
                for (int j=0; j<stringBuilder2.length();j=j+8){
                    System.out.println(stringBuilder2.substring(j,j+8));
                }
            }
        }
    }
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务