我正在编写一个程序,将一个2,000个人的列表随机生成到一个“ people.txt”文件中,该文件包含他们的名字,姓氏和唯一的ID号。
条件: a)必须从大量名称中选择名字和姓氏。 b)唯一的ID号必须为4位数字。
我的策略如下:
我创建了一个Person类,其中包含3个私有字段,firstName,lastName和id(所有字符串)。它具有所有的getter / setter和一个空的构造函数。
我创建了两个用于随机生成和返回名称和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数组,它为null。我想我可能有解决的办法,但要避免花费大量时间尝试弄清蛮力风格,我想在这里确认这是否是一种有效的方法,如果不能,我将非常感谢您的反馈。
所以我想我应该在我的主参数和catch子句中抛出NullPointerException,我将有一个单人对象,其参数调用随机类,然后将该人对象附加到使用NullPointerException捕获的数组中。那行得通吗?