字符串分割

題目描述

連續輸入字符串(輸出次數爲N,字符串長度小於100),請按長度爲8拆分每一個字符串後輸出到新的字符串數組,
長度不是8整數倍的字符串請在後面補數字0,空字符串不處理。
首先輸入一個整數,爲要輸入的字符串個數。
例如:
輸入:
    2
    abc
    12345789
輸出:
    abc00000
    12345678
    90000000

輸入描述

首先輸入數字n,表示要輸入多少個字符串。連續輸入字符串(輸出次數爲N,字符串長度小於100)。

輸出描述

按長度爲8拆分每一個字符串後輸出到新的字符串數組,長度不是8整數倍的字符串請在後面補數字0,空字符串不處理。

輸入例子

2
abc
123456789

輸出例子

abc00000
12345678
90000000

算法實現

import java.util.Arrays;
import java.util.Scanner;

/**
 * Declaration: All Rights Reserved !!!
 */
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
//        Scanner scanner = new Scanner(Main.class.getClassLoader().getResourceAsStream("data.txt"));
        while (scanner.hasNext()) {
            int n = scanner.nextInt();
            String[] arr = new String[n];

            for (int i = 0; i < arr.length; i++) {
                arr[i] = scanner.next();
            }

            System.out.println(convert(arr));
        }

        scanner.close();
    }

    private static String convert(String[] arr) {

        StringBuilder builder = new StringBuilder(128);
        for (String s : arr) {
            int pos = 8;

            while (pos <= s.length()) {
                builder.append(s.substring(pos - 8, pos)).append('\n');
                pos += 8;
            }


            if (pos > s.length()) {
                builder.append(s.substring(pos - 8, s.length()));
            }

            for (int i = s.length(); i < pos; i++) {
                builder.append('0');
            }

            builder.append('\n');
        }
        return builder.substring(0, builder.length() - 1);
    }
}
相關文章
相關標籤/搜索