Im doing an assignment from our Array Operations topic. All operations are working but the delete wont work. Below is the error I got when I tried to delete an element to an array:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5
at com.company.Array.removeAt(Array.java:34)
at com.company.Main.main(Main.java:67)
Here is my main java:
import java.util.*;
public class Main {
public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    System.out.println("====================================");
    System.out.print("Enter the Size of the Array: ");
    int arrayLength = input.nextInt();
    Array numbers= new Array(arrayLength);
    int c=1;
    System.out.println("\nInput the numbers consecutively: ");
    for (int i = 0; i < arrayLength; i++) {
        int arrayData = input.nextInt();
        numbers.insert(arrayData);
    }
    System.out.println("\nArray Current Data:");
    numbers.print();
    System.out.println("====================================");
    while(c!=4) {
        System.out.println("Pick an Option: ");
        System.out.println("Select 1 to Add");
        System.out.println("Select 2 to Search");
        System.out.println("Select 3 to Delete");
        System.out.println("Select 4 to Exit");
        System.out.print("= ");
        int option = input.nextInt();
        //Inserting data to array
        if (option == 1) {
            System.out.print("\nEnter Number of Data to Add: ");
            int arrayLength2 = input.nextInt();
            System.out.println("\nInput the numbers consecutively: ");
            for (int i = 0; i < arrayLength2; i++) {
                int arrayData = input.nextInt();
                numbers.insert(arrayData);
            }
            System.out.println("\nArray Current Data:");
            numbers.print();
            System.out.println("====================================");
        }
        //Searching a number to Array
        else if (option == 2) {
            System.out.print("\nInput the number to search: ");
            int arraySearch = input.nextInt();
            System.out.println("\nArray Current Data:");
            numbers.print();
            System.out.println("\nIndex Number of "+ arraySearch + " is " + numbers.search(arraySearch));
            System.out.println("====================================");
        }
        //Deleting a number to Array
        else if (option == 3) {
            System.out.print("\nInput the index number to delete: ");
            int arrayDelete = input.nextInt();
            numbers.removeAt(arrayDelete);
            System.out.println("\nArray Current Data:");
            numbers.print();
            System.out.println("====================================");
        }
        else {
            System.out.println("\nThank you for using!");
            break;
        }
    }
}
 }
Here is my Array java:
public class Array {
private int[] items;
private int count;
public Array(int length) {
    items = new int[length];
}
public void print() {
    for (int i = 0; i < count; i++)
        System.out.println(items[i]);
}
public void insert(int item){
    if(items.length==count) {
        int[] newItems = new int[count * 2];
        for(int i=0; i<count; i++)
            newItems[i] = items[i];
        items=newItems;
    }
    items[count]=item;
    count++;
}
public void removeAt(int index) {
    if(index < 0 || index >= count){
        throw new IllegalArgumentException();}
    for(int i = index; i < count; i++)
        items[i] = items[i + 1];
        count--;
}
public int search(int item){
    for(int i=0; i<count ; i++)
        if(items[i] == item)
            return i;
    return -1;
}
}
The error is pertaining to line 34 in my Array java and line 67 in my Main Java. I don't notice anything wrong. Help me to solve this! I'm also a beginner from java.
