A-A+
字符串分隔-华为oj
题目描述
- 连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
- 长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
输入描述:
连续输入字符串(输入2次,每个字符串长度小于100)
输出描述:
输出到长度为8的新字符串数组
输入例子:
abc
123456789
输出例子:
abc00000
12345678
90000000
知识点
字符串
解答
- import java.util.Scanner;
- public class Main {
- public static void main(String[] args) {
- Scanner in = new Scanner(System.in);
- while (in.hasNext()) {
- String[] arr = new String[2];
- for (int i = 0; i < arr.length; i++) {
- arr[i] = in.next();
- }
- System.out.println(convert(arr));
- }
- in.close();
- }
- private static String convert(String[] arr) {
- StringBuilder builder = new StringBuilder();
- for (String s : arr) {
- int loc = 8;
- while (loc <= s.length()) {
- builder.append(s.substring(loc - 8, loc)).append('\n');
- loc += 8;
- }
- if (s.length() % 8 != 0) {
- if (loc > s.length()) {
- builder.append(s.substring(loc - 8, s.length()));
- }
- for (int i = s.length(); i < loc; i++) {
- builder.append('0');
- }
- builder.append('\n');
- }
- }
- return builder.substring(0, builder.length() - 1);
- }
- }
主要利用String类中的Substring方法。