Java-массивы индексируются 0. Это означает, что если вы делаете int[] arr = new int[10]
, вы создаете целочисленный массив, который может содержать десять ints
, и первое целое число сохраняется в arr[0]
, второе в arr[1]
, а последнее в arr[10-1]
, что составляет arr[9]
.
Чтобы исправить свой код, измените z <= y
на z < y
. В будущем, просто помните, что если вы создадите массив для n
объектов, то вы можете получить к ним доступ с помощью arr[0], arr[1]... arr[n-1]
, но доступ к arr[n]
вызовет исключение OutOfBounds
.