Итак, я хочу создать массив вне метода, чтобы его могли использовать другие методы:

public int x = 0;
public int[] myIntArray = new int[x];

Но x равен 0 и позже определяется в методе как число, введенное пользователем:

x = input.nextInt();

Но у метода уже есть размер 0, так как мне изменить (переопределить) размер массива? Я попытался сделать это, определив массив в методе, но если я это сделаю, я не смогу получить доступ к массиву из другого метода. Я новичок и не умею делать ArrayList, можно ли это сделать?

РЕДАКТИРОВАТЬ: В основном: как мне определить размер массива позже?

-2
David Koplik 17 Апр 2016 в 21:44

3 ответа

Лучший ответ

Конечно, просто объявите его там, где у вас есть, с помощью public int[] myIntArray;, а затем инициализируйте его, как только вы узнаете, насколько он должен быть большим, с помощью myIntArray = new int[x];

2
Vampire 17 Апр 2016 в 18:47

Вы можете объявить его, но не создать экземпляр с помощью public int[] myIntArray;

Позже, после кода x = input.nextInt();, создайте экземпляр массива с помощью myIntArray = new int[x] в этом методе. Вы по-прежнему должны иметь доступ к массиву из других методов

0
Michael 17 Апр 2016 в 18:50

Вы можете просто объявить его без инициализации, например:

   public int[] myIntArray;

Затем укажите значение после того, как вы его получили.

 x = input.nextInt();
 myIntArray = new int[x];
0
Kyungeun Kim 17 Апр 2016 в 18:52