您的位置:首页 > 其它

【华为OJ】【004-字符串分隔】

2016-04-26 11:26 127 查看

【华为OJ】【算法总篇章】

【华为OJ】【004-字符串分隔】

【工程下载】

题目描述

•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。


输入描述

连续输入字符串(输入2次,每个字符串长度小于100)


输出描述

输出到长度为8的新字符串数组


输入例子

abc
123456789


输出例子

abc00000
12345678
90000000


算法实现

import java.util.Scanner;

/**
* Author: 王俊超
* Date: 2015-12-22 19:11
* Declaration: All Rights Reserved !!!
*/
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
StringBuilder builder = new StringBuilder(256);
while (scanner.hasNext()) {
builder.setLength(0);
String input = scanner.nextLine();
stringSplit(builder, input);
input = scanner.nextLine();
stringSplit(builder, input);
System.out.print(builder);
}

scanner.close();
}

private static void stringSplit(StringBuilder builder, String str) {
if (str == null || str.length() < 1) {
return;
}

int pos = 0;
while ((pos += 8) < str.length()) {
builder.append(str.substring(pos - 8, pos)).append("\n");

}

// 如果str.length() < pos,说明最后的不足8个字符或者刚好8个
if (str.length() <= pos) {
builder.append(str.substring(pos - 8, str.length()));

for (int i = str.length(); i < pos; i++) {
builder.append(0);
}
builder.append("\n");
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: