ArrayIndexOutOfBoundsException при попытке создать массив объектов [дубликат]

Гораздо более простой подход для загрузки файла на ваш локальный компьютер:

В вашем ПК shell run:

adb -d shell 'run-as <package_name> cat /data/data/<package_name>/databases/<db_name>' > <local_file_name>
0
задан John Kugelman 31 March 2019 в 01:11
поделиться

1 ответ

У вас есть пара вещей.

Во-первых, вы забыли присвоить переменной count значение. В Java этой переменной будет присвоено значение по умолчанию 0. Это означает, что эта строка создает массив размером 0:

obs = new objects[count];

В Java массивы не имеют изменяемого размера. Это также означает, что вы не можете сделать это:

for(objectNumber = 0;objectNumber <=4;objectNumber++){
  obs[index++] = new objects(random(0,width),random(0,height),2);

Вы пытаетесь добавить больше элементов, чем для массива имеют индексы. Это не работает в Java.

Вместо этого вам нужно задать массиву заданную длину, а затем использовать только цикл с этой длиной.

Бесстыдная самореклама: здесь - учебник по массивам. Вы также можете найти дополнительную информацию в Справочник по обработке и в Google.

После того, как вы это исправите, вы также смешаете здесь некоторый синтаксис JavaScript:

function draw(){

Этот синтаксис не работает в Java. Вам нужно определить свою функцию, используя тип возвращаемого значения. В частности, функция draw() имеет тип возвращаемого значения void:

void draw(){

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

Лучший совет, который я могу вам дать, - начинать с меньшего . Начните с простого эскиза Обработка, который просто делает что-то простое, например, показывает один эллипс. Затем добавьте к этому одну маленькую вещь и продолжайте работать небольшими шагами. Вы пытаетесь сделать много всего за один раз, что, как вы узнали, приведет только к головным болям.

Наконец, пожалуйста, не оскорбляйте себя. Хорошо быть новичком в чем-то. Я настоятельно рекомендую отредактировать ваш пост, чтобы удалить места в вашем посте, где вы называете себя.

Удачи.

0
ответ дан Kevin Workman 31 March 2019 в 01:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: