题目描述
连续输入字符串(输出次数为N,字符串长度小于100),请按长度为8拆分每个字符串后输出到新的字符串数组,长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。首先输入一个整数,为要输入的字符串个数。例如:输入: 2 abc 12345789输出: abc00000 12345678 90000000
输入描述
首先输入数字n,表示要输入多少个字符串。连续输入字符串(输出次数为N,字符串长度小于100)。
输出描述
按长度为8拆分每个字符串后输出到新的字符串数组,长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
输入例子
2abc123456789
输出例子
abc000001234567890000000
算法实现
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); }}