题解 | #字符串分隔#
字符串分隔
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)); } } } } }