Почему мой цикл массива int [] выходит за границы?

Предупреждение: Я очень плохо знаком с Java и программированием в целом. Я постараюсь быть максимально ясным.

Я пытаюсь взять простое число (inputnumber), преобразовать его в строку (temp), создайте новый массив int [] (numberarray), и переберите этот массив int [], начиная с последней цифры, и выведите название цифры.

Я скорее уверен, что преобразование из целочисленного в массив String в массив int [] было функциональным из-за отладки Eclipse, но я озадачен тем, почему я получаю сообщение ArrayOutOfBounds из Eclipse для такого простого цикла for. Любые подсказки относительно того, что я делаю неправильно, приветствуются.

    String temp = inputnumber.toString();
    int[] numberarray = new int[temp.length()];

    for (int i=0;i<temp.length();i++) {
        numberarray[i] = temp.charAt(i);
    }


    for (int i=temp.length();i>0;i--) {

        if (numberarray[i]==1) System.out.print("one.");
        if (numberarray[i]==2) System.out.print("two.");
        if (numberarray[i]==3) System.out.print("three.");
        if (numberarray[i]==4) System.out.print("four.");
        if (numberarray[i]==5) System.out.print("five.");
        if (numberarray[i]==6) System.out.print("six.");
        if (numberarray[i]==7) System.out.print("seven.");
        if (numberarray[i]==8) System.out.print("eight.");
        if (numberarray[i]==9) System.out.print("nine.");
        if (numberarray[i]==0) System.out.print("zero");
    }

Я получаю сообщение об ошибке Eclipse:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at jt.Intermediate8.main(Intermediate8.java:44)

Ответы на вопрос(3)

Ваш ответ на вопрос