2017-01-15 3 views
-1

나는 사용자를 추가/검색/표시하고 연락처를 제거하는 입력을받는 andress 책 프로그램에 대한 작업을하고 있습니다. 나는 하늘의 배열에 연락처를 추가하기 위해 노력하고 있지만 프로그램이 오류를 준다 : 나는 할 배열을 변경할 때문제가 빈 arraylist에 연락처를 추가

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 

는 [10] 예를 들어, 다음 프로그램이 잘 작동합니다.

public Main() { 
     database = new String[0]; 
     input = new Scanner(System.in); 
     dataCount = 0; 

    } 
public void add(final String name) { 
    if (dataCount <= database.length) { 
     database[dataCount] = new String(name); 
     dataCount++; 
     System.out.println("adding: " + name); 
    } 

} 

왜 이런 일이 발생합니까?

+1

이것은 'ArrayList'가 아닙니다. 그것은 배열입니다. Java의 배열은 고정 된 크기이며 확장 될 수 없습니다. 대신에'ArrayList'를 사용하십시오. – Thilo

답변

1

이것은 선언하고 배열하는 방식이 아닙니다. 문자열 배열이 선언되었습니다. arrayType [] nameOfArray new arrayType [arraySize]; 또한 크기가 0 인 배열을 가질 수 없습니다. 배열은 1 일 수 있습니다. 크기가 x 인 arr이라는 배열이있는 경우 arr [x] 위치는 존재하지 않지만 arr [0] -arr [ x-1]이 존재한다.

+0

물론 크기가 0 인 배열을 가질 수 있습니다. – Thilo