2014-07-08 2 views
0

내가 인포매티카 자바 변환에 아래의 자바 스크립트를 실행했지만 내가 오류 받고 있어요 : [ERROR]java.lang.ArrayIndexOutOfBoundsException:1[ERROR] java.lang.ArrayIndexOutOfBoundsException : 1

String [] Name_parsed; 
String Name_delimiter = "&"; 
String Name_li = Name; 
int Name_length = Name_li.length(); 

for (int i=0; i < Name_length; i++) 
{ 
    Name_parsed = Name.split(Name_delimiter); 

    o_Name =Name_parsed[0]; 
    generateRow(); 

    o_Name =Name_parsed[1]; 
    generateRow(); 

} 
+1

'Name'의 가치는 무엇입니까? – gla3dr

+1

'[0]'또는'[1]'에 접근하기 전에'Name_parsed'의 길이를 검사하십시오. 길이가 2 인 배열인지 확실치지 않습니다. – singe3

답변

2

기회는 당신의 입력 문자열은보다 적은있다 1 & 문자. 이 경우에 Name 변수를 인쇄 해보십시오. 이러한 경우를 처리하기 위해 언제든지 try/catch 블록에서 이것을 감쌀 수 있습니다.

2

오류 길이 이것은 단지 하나의 요소와 그 Name.split(Name_delimiter) 반환 배열을 의미 낮은 1

다음 것을 당신이 배열을 가지고 있음을 의미한다.

1 여기에 액세스하려고 시도하면 o_Name =Name_parsed[1];을 찾을 수 없습니다.

입력 데이터의 유효성을 검사하십시오.

1

이름 필드에 "&"(들)의 다양한 수있을 수있는 경우는 다음과 같이 그것을 수행해야합니다

String [] Name_parsed; 
String Name_delimiter = "&"; 
String Name_li = Name; 
int Name_length = Name_li.length(); 

for (int i=0; i < Name_length; i++) 
{ 
    Name_parsed = Name.split(Name_delimiter); 

    for (int j=0; j<Name_parsed.length; j++){ 
    { 
     o_Name =Name_parsed[j]; 
     generateRow(); 
    } 

} 
관련 문제