次の文字列を持つ配列リストがあります。
02, String1
03, Num1
03, Num2
02, String2
別のメソッドからの入力に基づいて、03 で始まる文字列を繰り返してから、同じ arraylist の回数 = 4 の出力に戻す必要があります。
02, String1
03, Num1
03, Num2
03, Num1
03, Num2
03, Num1
03, Num2
03, Num1
03, Num2
02, String2
助けてください、
前もって感謝します。
これまでに作成したコードには、arraylist に必要なロジックが含まれていますが、実行する必要がある部分は上記のとおりです...これは宿題ではありません。
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;
}