Я пишу программу, которая случайным образом генерирует список из 2000 человек в файл "people.txt", который содержит их имя, фамилию и уникальный идентификационный номер.
Условия:
а) имя и фамилия должны быть выбраны из большого пула имен.
б) уникальные идентификационные номера должны состоять из 4 цифр.
Моя стратегия была следующей:
Я создал класс Person с 3 закрытыми полями: firstName, lastName и id (все строки). В нем есть все методы получения / установки и пустой конструктор.
Я создал два класса для случайного генерирования и возврата имен и идентификаторов.
Затем я создал класс Utilities, который в основном читает и записывает объект Person в текстовый файл.
Наконец, вот где я застрял.
public static void main(String[] args) throws IOException,
ClassNotFoundException{
Person[] array = new Person[2000];
RandID idNum = new RandID();
RandNames rand = new RandNames();
String id;
String first;
String last;
for(int i=0; i<array.length; i++) {
id = idNum.nextString();
first = rand.nextFirstName();
last = rand.nextLastName();
array[i].setID(id);
array[i].setFirstName(first);
array[i].setLastName(last);
Utilities.savePerson(array[i]);
}
}
То, что я знаю до сих пор, сводится к NullPointerException, поскольку при первом создании экземпляра массива Person он становится нулевым. Я думаю, что у меня может быть идея относительно того, как ее решить, но чтобы не тратить бесполезные часы, пытаясь выяснить это методом грубой силы, я хочу подтвердить здесь, является ли это правильным подходом, и если нет, я был бы очень признателен за любые отзывы ,
Так что я думаю, что я должен выбросить исключение NullPointerException в своем основном аргументе и в предложении catch, у меня будет один объект person, параметры которого вызывают случайные классы, а затем добавлю этот объект person в массив, который был перехвачен с помощью NullPointerException. Будет ли это работать?