Застрял на создании массивов Java, не жестко кодируя размер массива - PullRequest
0 голосов
/ 07 октября 2011

Я хочу поставить это, что будет в основном методе:

int  numberOfElements =   readFile(args[0],capacities);

переменная numberOfElements равна 28.

ниже только для того, чтобы вы могли видеть предварительный просмотр readFile.

private static int readFile (String filename, String[] capacities)

В основном я хочу создать строковый массив с именем Capacity, используя переменную numberOfElements в качестве размера массива:

У меня проблемы с тем, как это сделать.

Ответы [ 4 ]

2 голосов
/ 07 октября 2011

Если вы уже знаете размер массива при его создании, то прекрасно работает следующее:

String[] capacities = new String[numberOfElements];

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

1 голос
/ 07 октября 2011
String[] frobs = new String[numberOfElements];

Но почему бы не использовать коллекцию?

1 голос
/ 07 октября 2011

Похоже, вы пытаетесь создать массив для хранения всех результатов readFile, но вы не знаете, насколько большим он должен быть до тех пор, пока он уже не должен быть создан.

Что вынужно либо использовать List (например, ArrayList ), для которого не требуется указывать размер при создании.Вместо этого эти структуры данных растут по мере добавления к ним элементов.

Или вам нужно написать какую-то другую функцию, которая может читать файл данных, не сохраняя его значения в любом месте (возможно, под названием countFile.подсчитайте количество записей, которые вам понадобятся в массиве, чтобы хранить данные, когда вы фактически читаете и сохраняете их, используя readFile.

0 голосов
/ 07 октября 2011

Я неправильно понимаю ваш вопрос? Это должно быть просто

String[] temp = new String[numberOfElements];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...