---恢复内容开始---
代码地址:https://coding.net/u/ybsnn/p/GUI_four_formula/git
项目最终代码及可运行的jar包都在在long_final文件夹下。
成员:何跃斌(082)、陈鑫龙(078)
分工:1.四则运算、用户及记录相关函数编写:何跃斌
2.GUI图形界面设计及应用函数:陈鑫龙
合作:增加用户答题耗时计算功能、语言切换
照片:
一、题目描述
我们在个人作业1中,用各种语言实现了一个命令行的四则运算小程序。进一步,本次要求把这个程序做成GUI(可以是Windows PC 上的,也可以是Mac、Linux,web,手机上的),成为一个有基本功能、一定价值的程序。在下面的功能需求中实现两个:
- 记录用户的对错总数,程序退出再启动的时候,能把以前的对错数量保存并在此基础上增量计算。
- 有计时功能,能显示用户开始答题后的消耗时间。
- 界面支持中文简体/中文繁体/英语,用户可以选择一种。
二、需求分析
1.这是一个应用,有着不同的用户使用,因而要有用户注册、登陆功能。
2.为了储存用户的对错总数,要有文件库或数据库支持。
3.计时功能的实现,要求设置静态变量,实时显示这个变量,不断累加,直至用户完成答题。
4.中英切换可以采取查字典的方式实现。
5.简体和繁体切换倒是可以使用外部jar包,调用函数完成。
三、程序设计
1.在项目下创建users.txt文件,储存用户信息。将用户信息抽象为用户类,包括账号、密码、昵称三个属性;创建管理用户类来支持用户注册、登陆功能;
2.在项目下创建record.txt文件,记录每次测试的结果。这就涉及到记录类,包括账号、这次答对的题数、总题数、耗时四个属性;然后记录管理类就根据账号创建或读取个人记录文件,以及备份到record.txt总记录文件。
3.这次将计时功能简化了,用时间差计算用户答题耗时。
4.苦于不会使用配置文件实现语言简单切换,本次只对一个介绍页面各个标签逐一设置了。
四、代码展示
1.增量计算
(1)创建新记录,写入用户记录文件及总记录文件
public static void writefile(Record record){ add_record("record.txt", record); add_record(record.getUsername(), record); } public static void add_record(String filename,Record record){ File file =new File(filename); FileOutputStream outp; try { outp = new FileOutputStream(file,true); PrintStream out=new PrintStream(outp, true); out.println(record); out.close(); System.out.println("write object success!"); } catch (IOException e) { System.out.println("write object failed"); e.printStackTrace(); }