我有一个要制作成对象的信息文本文件。
文本文件如下所示:
mediterraneanAvenue 60 0 50 {2, 10, 30, 90, 250} 0
balticAvenue 60 0 50 {4, 20, 60, 180, 450} 0
等等。我可以控制文本文件,所以我可以以任何我需要的方式更改它。但是,有超过 30 个属性(是的,我正在制作 Monopoly),我正在寻找一种更有效的方法来复制数据。
我希望实现的是这样的镜像线:
Property mediterraneanAvenue = new Property (60, 0, 50, new int[]{2, 10, 30, 90, 250}, 0);
我在如何从文本文件中读取此信息时遇到问题。我从我的课程资源和互联网上做了一些研究;很难找到解决方案,而我发现的解决方案比简单地自己制作对象更加复杂和低效
我尝试过的是:
Property[] properties = new Property[28];
...
try {
BufferedReader br = new BufferedReader (new FileReader ("property card info"));
int i;
String lineContents;
while ((lineContents=br.readLine())!= null){
String[] parts = lineContents.split(" ");
properties[i] = new Property (Integer.parseInt(parts[0]), parts[1], parts[2], parts [3], parts[4], parts[5]);
i++;
}
} catch (IOException e){
// TODO Auto-generated catch block
e.printStackTrace();
}
我解析了减速的每个部分,但是当我复制代码时,我删除了除第一个之外的所有部分,以保持行短。我似乎在朝着正确的方向前进,但是我遇到了一个未定义的构造函数错误,并且无法弄清楚如何将作为数组的部分变成 int[]