안녕하세요 알통몬입니다. 공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
길이가 3인 배열에서 3번을 사용하는 것처럼 배열에서 인덱스 범위를 초과해 사용할 경우에ArrayIndexOutOfBoundsException이 발생합니다.
예제)
public class ArrayIndexOutOfBoundsExceptionExample {
public static void main(String[] args) {
String data1 = args[0];
String data2 = args[1];
System.out.println("args[0]: " + data1);
System.out.println("args[1]: " + data2);
}
}
이 예제는 args[0] 과 args[1] 에 매개 값을 주지 않았기 때문에 인덱스를 사용할 수 없어 실행예외가 발생합니다.
이클립스 메뉴에서 Run => Run Configuration을 선택하고 Arguments 탭에서 Program arguments 입력란에 매개 값을 입력해주면 됩니다. ex) 배열 인덱스 <- 값은 공백 한칸으로 구분합니다.
아래와 같이 수정하면 ArrayIndexOutOfBoundsException 이 발생하지 않습니다.
배열의 값을 읽기 전에 배열의 길이를 먼저 조사하는 것입니다.
public class Example {
public static void main(String[] args) {
if(args.length == 2) {
String data1 = args[0];
String data2 = args[1];
System.out.println("args[0]: " + data1);
System.out.println("args[1]: " + data2);
} else { // 실행 매개값이 없거나 부족할 경우 조건문으로 사용자에게 실행 방법을 알려줍니다.
System.out.println("[실행 방법]");
System.out.print("java ArrayIndexOutOfBoundsExceptionExample ");
System.out.print("값1 값2");
}
}
}
'자바' 카테고리의 다른 글
JAVA 자바 예외처리 : 실행 예외 - ClassCastException (0) | 2017.03.13 |
---|---|
JAVA 자바 예외처리 : 실행 예외 - NumberFormatException (0) | 2017.03.13 |
JAVA 자바 예외처리: 실행 예외(1) - NullPointerException (0) | 2017.03.13 |
JAVA 자바 예외처리 예외와 예외 클래스 (0) | 2017.03.13 |
JAVA 자바 익명 객체의 로컬 변수 사용 (0) | 2017.03.13 |