Java.lang.ArrayIndexOutOfBoundsException

Смысл сообщения – "выход за пределы массива", иными словами, зафиксирована попытка обращения к несуществующей в данном массиве ячейке.

Свойство "размер массива"

Есть ситуации, в которых необходимо создавать массив, размер которого при повторных запусках класса, должен быть разным. Более того, как раз такие приемы "гибкого" установления размера массива как очень популярны и в большинстве заданий условие формулируется так, чтобы избежать указаний на конкретно-числовой размер массива. Именно поэтому приемы гибкого задания размера массива очень эффективны в языке Java.

В языке Java осуществить гибкое установление размера массива довольно просто: достаточно объявить и инициализировать массив с использованием ввода размера массива с клавиатуры непосредственно в процессе инициализации:

int[] ocenka = new int[reader.nextInt()]

При таком варианте нет никакой возможности заранее знать размер массива – и вроде бы возникает проблема с написанием, например, цикла для заполнения массива значениями. Почему проблема? Да потому, что вроде бы непонятно (поскольку неизвестно…), до какого значения должна изменяться переменная-счетчик.

В таком случае нужно использовать встроенный в язык Java инструмент: свойство массива под названием "размер". Этот инструмент возвращает целое число, равное количеству ячеек в инициализируемом массиве (размер массива).

Свойство это записывается как служебное слово length, которое указывают после имени массива, через точку.

Приведем пример класса, заполняющего массив случайными числами и выводящего на экран значения ячеек массива. При этом размер массива устанавливается гибко, то есть, вводится с клавиатуры.

import java.util.*;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: