到目前为止,我还没有任何代码,但我最初的想法很简单。我会有一个JTable
,里面有用户的姓名、ID和一个复选框,表示用户在场。
程序通过将JTable
数据存储到数组中,然后读取以前的文件数据并将JTable
中的新数组数据添加到其中,将其写入文件,例如:
Array将是一个对象数组,每个对象由UserID
、UserName
、Present
(布尔值)组成。文本文件的格式为每行UserID
、UserName
、daysPresent
、totalDays
。因此,如果数组指示有人在场,系统只需在daysPresent
上加一。
我唯一的问题是;用户可以一天做任意多次。用户可以继续按提交,并在当前的总天数和总天数中添加1(提交按钮在总天数中增加1)。有人能想出一些方法来限制用户每天只能提交一次注册吗?尽管我正在考虑添加一个迟到的复选框,所以也许可以通过某种方式,一天的数据只在一天结束时添加到数组中或其他什么?我真的不知道,我想不出我怎么可能实施它。此外,如果某一天完成了登记,总天数是如何增加的?
我很感激我还没有提交任何代码,还有很多问题,但我目前无法启动它。很抱歉。
感谢您的任何帮助,如果您不理解,请提出任何问题。谢谢
基本答案是,您需要将日期值与每个条目关联
date | userID | userName | present
date
和userID
形成一个唯一的密钥/关系,这意味着只能允许两者的一个组合存在
daysPresent
和totalDays
都是可计算字段,所以它们并不需要存在,只需迭代数据并在需要时求和即可。
将数据添加到数据源时,检查当前日期的date
/userID
是否存在,如果它不拒绝更新,其他人则添加新条目。
因为你使用的是一个文本文件,你需要自己管理很多,否则数据库会帮你处理