【发布时间】:2015-04-01 02:15:00
【问题描述】:
我有一个对象数组。每个对象都是一个客户记录,即客户 ID (int)、名字 (String)、姓氏 (String) 和余额 (double)。
我的问题是我不应该有重复的客户记录,所以如果它们在文件中出现两次,我只需要更新他们的余额。我不知道如何搜索数组以确定我是否需要更新余额或在数组中创建新记录。
我觉得我应该在 get/setter 中执行此操作,但我不确定。
编辑:澄清“如果他们在文件中出现两次,我必须更新他们的余额。”我有一个我在记事本中制作的文件,它应该是一个客户列表,其中包含他们的所有信息。如果同一个客户出现两次,比如说第二天要买更多东西,我不应该为他们创建一个新对象,因为他们已经在数组中有一个对象和一个位置。相反,我应该取他们花费的金额,并将其添加到他们现有对象中已经存在的余额中。
edit2:我想我会给你一些我已经将值读入数组的代码。我基于我们在课堂上做的例子,但我们不需要更新任何东西,只需将信息存储到一个数组中并在需要时打印它。
public CustomerList(){
data = new CustomerRecord[100]; //i'm only allowed 100 unique customers
try {
Scanner input = new Scanner(new File("Records.txt"));
for(int i = 0; i < 100; ++i){
data[i] = new CustomerRecord();
data[i].setcustomerNumber(input.nextInt());
data[i].setfirstName(input.next());
data[i].setlastName(input.next());
data[i].setTransactionAmount(input.nextDouble());
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
【问题讨论】:
-
你可以使用不同的数据结构吗?你能澄清一下“如果他们在文件中出现两次,我只需要更新他们的余额。”也是?