我有一个包含以下字符串的数组列表:
02, String1
03, Num1
03, Num2
02, String2
基于来自另一种方法的输入,我需要重复以 03 次开头的字符串,然后将其添加回相同的 arraylist number of times = 4 输出:
02, String1
03, Num1
03, Num2
03, Num1
03, Num2
03, Num1
03, Num2
03, Num1
03, Num2
02, String2
请任何帮助,
提前致谢。
到目前为止,我创建的代码具有数组列表所需的逻辑,但我需要完成的部分在上面……这不是家庭作业。
private static String mergeFieldName(String string_element, int j, int numOfTimes)
{
int innerCnt3 = 0;
int innerCnt4=0;
int innerCnt5=0;
innerCnt3 = j+1;
String tmpStr = "";
innerCnt4 =innerCnt3;
innerCnt5 = innerCnt3;
while (true)
{
tmpStr = holdRecord.get(innerCnt5);
tmpStr = tmpStr.replaceAll("( )+",ONE_SPACE).trim();
if (!tmpStr.trim().substring(0, 2).equalsIgnoreCase("03"))
{
break;
}
innerCnt5++;
}
while (true)
{
tmpStr = holdRecord.get(innerCnt4);
tmpStr = tmpStr.replaceAll("( )+",ONE_SPACE).trim();
if (!tmpStr.trim().substring(0, 2).equalsIgnoreCase("03"))
{
break;
}
innerCnt4++;
}
while (true)
{
tmpStr = holdRecord.get(innerCnt3);
tmpStr = tmpStr.replaceAll("( )+",ONE_SPACE).trim();
if (tmpStr.trim().substring(0, 2).equalsIgnoreCase("03"))
{
for( int i = 0; i < numOfTimes; i++ )
{
//sb.append( tmpStr );
holdRecord.add(innerCnt4, tmpStr);
tmpStr = holdRecord.get(innerCnt4);
innerCnt4++;
}
if (innerCnt5 == innerCnt3 + 1)
{
break;
}
innerCnt3++;
}
if (!tmpStr.trim().substring(0, 2).equalsIgnoreCase("03"))
{
break;
}
}
return tmpStr;
}