ArrayIndexOutOfBoundsException

에폴이라는 어플을 제작 중 ArrayIndexOutOfBoundsException 오류를 경험하게 되었습니다.


결론은 Array변수에 데이터가 없는 경우.. 제가 실수한 부분입니다.

저는 169개가 있다고 설정을 해놨는데, 추가를 한 데이터는 168개였습니다.


코드로 설명을 드리겠습니다.

int index = (int) (Math.random() * 169);
int res = C_GRUP[index];
iv.setImageResource(res);

위 코드는 169개의 데이터중에 하나를 뽑아서 iv라는 이미지뷰에 출력하게 하는 코드입니다.

public static final int C_GRUP[]= {
R.drawable.c_grup_1, R.drawable.c_grup_2, R.drawable.c_grup_3, R.drawable.c_grup_4, R.drawable.c_grup_5,


R.drawable.c_grup_166, R.drawable.c_grup_167, R.drawable.c_grup_168, R.drawable.c_grup_169
};

요 코드가 총 169개의 코드를 입력해 놓은 코드인데 너무 길어서 중간에 잘랐습니다.

입력해 놓은 데이터는 168개 였었는데..

위에 입력해 놓은 숫자를 169개로 입력을 해 놓으니 오류가 발생했던 이유가 되었네요.

169개를 맞게 입력하니 오류는 발생하지 않았습니다.

반응형

이 글을 공유하기

댓글

Designed by JB FACTORY