package java_huaweijishi;
import java.util.Scanner;
/**
* 题目:连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
* 长度不是8整数倍的字符串请在后面补数字0,空字符串不处理
* @author hexiaoli
*思路:
*1)常规(递归):如果字符串长度大于8小于等于8两种情况
* 小于等于8的时候,索引值index如果小于字符串长度,输出字符串中的字符,否则输出0;
* 大于8的时候,索引值index在0-7时输出,换行,再递归输出字符串索引值8之后的
*2)直接判断字符串长度是不是8的倍数,不是补0,以8为长度,然后递归输出
*
*/
public class StringSeperate {
public static void stringSeperate1(String str){
int length = str.length();
if(str == null || length == 0){
System.out.println("不处理");
return ;
}
if(length <= 8){
for (int i = 0; i < 8; i++) {
if(i < str.length()) {
System.out.print(str.charAt(i));
}else {
System.out.print("0");
}
}
}else {
for (int i = 0; i < 8; i++) {
System.out.print(str.charAt(i));
}
System.out.println();
stringSeperate1(str.substring(8));
}
}
public static void stringSeperate2(String str) {
if(str.length()%8 != 0 ) {
str += "00000000";
}
while(str.length()>=8){
System.out.println(str.substring(0, 8));
str=str.substring(8);
}
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String str1 = input.nextLine();
String str2 = input.nextLine();
input.close();
stringSeperate1(str1);
System.out.println();
stringSeperate2(str1);
System.out.println();
stringSeperate1(str2);
System.out.println();
stringSeperate2(str2);
}
}
华为机试(4)字符串分割
猜你喜欢
转载自blog.csdn.net/hxl0925/article/details/89358000
今日推荐
周排行