62,634
社区成员




public static Result statuChange(Result analyResult,int j,char[] cArray,RecordHead record)
{
int i=analyResult.statu;
analyResult.statu=statuArray[i][j];
int next=analyResult.statu;
analyResult.processStr+=String.valueOf(i)+"--->"+String.valueOf(next);
if(i!=0&&next==0)
{
System.out.println("************statuchange*********");
analyResult.outStr=new String(cArray,analyResult.begin,analyResult.end+1);
switch(i)
{
case 1: resultStatu1(analyResult,record);break;
case 2:
case 3:
case 4: resultStatu4(analyResult,record);break;
case 5:
case 6: resultStatu6(analyResult,record);break;
case 10: resultStatu10(analyResult,record);break;
}
analyResult.begin=analyResult.end+1;
analyResult.end--;
analyResult.statu=0;
analyResult.outStr=null;
analyResult.processStr=" ";
analyResult.errorStr=null;
}
if(i==0&&next==0)
{
analyResult.begin++;
}
if(next==-1)//错误状态处理
{
warngHading(analyResult,i,cArray,record);
}
return analyResult;
}
new String(char[],int begin,int length);
第三个参数应该是长度吧
analyResult.end+1=18
从下边16的位置开始,到16+18的位置为止,组成一个字符串,而char[]的最大下标小于34的,当然越界了