我有一个问题,其中我有两个字符串,其中一个字符串的长度只有在执行我的函数时才会知道。我想编写我的函数,以便它需要这两个刺,并根据哪个更长,计算一个最终字符串如下 -
finalString = longerStringChars1AND2
+ shorterStringChar1
+ longerStringChars3and4
+ shorterStringChar2
+ longerStringChars5AND6
...依此类推,直到较短的字符串结束。
一旦较短的字符串结束,我想将较长字符串的剩余字符附加到最终字符串,然后退出。我已经写了一些代码,但是我喜欢的循环太多了。有什么建议么?
这是我写的代码 - 非常基本 - public static byte [] generateStringToConvert(String a, String b){ (字符串 b 的长度总是已知为 14。)
StringBuffer stringToConvert = new StringBuffer();
int longer = (a.length()>14) ? a.length() : 14;
int shorter = (longer > 14) ? 14 : a.length();
int iteratorForLonger = 0;
int iteratorForShorter = 0;
while(iteratorForLonger < longer) {
int count = 2;
while(count>0){
stringToConvert.append(b.charAt(iteratorForLonger));
iteratorForLonger++;
count--;
}
if(iteratorForShorter < shorter && iteratorForLonger >= longer){
iteratorForLonger = 0;
}
if(iteratorForShorter<shorter){
stringToConvert.append(a.charAt(iteratorForShorter));
iteratorForShorter++;
}
else{
break;
}
}
if(stringToConvert.length()<32 | iteratorForLonger<b.length()){
String remainingString = b.substring(iteratorForLonger);
stringToConvert.append(remainingString);
}
System.out.println(stringToConvert);
return stringToConvert.toString().getBytes();
}