2012-08-12 3 views
1

안 나는 (N 콘솔에서 이전 입력을 기반으로 임의의 숫자입니다) 다음과 같은 오류 얻을 :배열 인덱스는 내가 아주 간단한 자바 프로그램을 만들고있어

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: n 
을 가장 낮은 숫자의

for(int i = 0; 0 < x; i++){ 
    if(TalArray[i] < min){ 
     min = TalArray[i]; 
    } 
} 

변수 "최소"가 이전에 [0]에 TalArray initzialized되어 유지되고 트랙 : 문제가 발생할 것으로 예상되는

광고는 만약 문 여기. 언급 된 모든 변수는

for(int i = 0; i < x; i++){ 
    if(TalArray[i] < min){ 
     min = TalArray[i]; 
    } 
} 
+4

것 같아요 pb2q

+1

루프가 종료됩니다 - ArrayIndexOutOfBoundsException을 던짐으로써 –

답변

3

올바른 코드가 있지만, 어쨌든 루프 조건은 다음과 같아야합니다

또는 같은

for (int i = 0; i < TalArray.length; i++) 
, 각 반복에서 길이에 액세스 할 피하기 위해 :

for (int i = 0, x = TalArray.length; i < x; i++) 

0 < x 비교가 잘못되었습니다. x 값을 수정하지 않으므로 초기 값인 x에 따라 루프가 무한 루프를 입력하거나 루프를 전혀 입력하지 않습니다.

+0

oups : 나는 당황 스럽습니다 ^^ ' –

+0

하하 그것이 우리에게 가장 좋은 일입니다 ... – 36redsoxfan

1

코드에서 x의 값이 무엇 분명하지 않다 ... INT-변수

0

변수 X이 절대로 변하지 않으므로 상태 0 < x은 항상 true입니다.

내가`x`가 양수,`0 인 경우 올바른 조건이

for(int i = 0; i < x; i++) 
관련 문제