java课程设计记忆系统报告.doc_第1页
java课程设计记忆系统报告.doc_第2页
java课程设计记忆系统报告.doc_第3页
java课程设计记忆系统报告.doc_第4页
java课程设计记忆系统报告.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软软 件件 学学 院院 课程设计报告书课程设计报告书 课课程名称程名称 面向面向对对象程序象程序设计设计 设计题设计题目目 记忆测试记忆测试系系统统 专业专业班班级级 软软件工程(件工程(财财升本)升本)11-1 班班 学学 号号 姓姓 名名 指指导导教教师师 2011 年年 12 月月 目录 1 设计时间:3 2 设计目的:3 3 设计任务3 4 设计内容3 4.1 需求分析.3 4.1.1 设计目标3 4.1.2 主体功能3 4.1.3 开发环境4 4.2 系统设计.4 4.2.1 系统的功能模块划分4 4.2.2 系统流程图.23 4.2.3 系统详细设计.24 4.3 运行与测试30 4.3.1 测试方案.30 4.3.2 测试结果.30 5 总结与展望33 参考文献34 成绩评定34 1 1 设计时间:设计时间: 2011 年 12 月 192011 年 12 月 25 日 2 2 设计目的:设计目的: 此次设计课程的目的在于加深对 Java 基础理论和基础知识的理解,而进行的一次全 面的综合训练。掌握使用 java 进行软件设计的基本方法,提高运用 java(MyEclipse 软 件)解决实际问题的能力,课程设计是对所学面向对象课程的小结,是提高学对所学知 识综合应用能力的一种方式,是集中实践性环节之一。从而进一步掌握 Java 语言程序设 计方法,提高分析问题、解决问题的综合应用能力。 3 3 设计任务设计任务 记忆测试系统通过回忆法测试记忆,分为初级、中级、高级、和自定义四个级别, 并通过记忆榜存储每个级别的成绩。 4 4 设计内容设计内容 4.1 需求分析需求分析 4.1.1 设计目标设计目标 (1)菜单栏包括“选择级别” 、 “查看排行榜” 、 “帮助”三项。其中“选择级别” ,包括“初级” 、 “中级” 、 “高级” 、 “自定义级别” ,可以分别开始初级中级高 级和自定义测试。 “查看排行榜” 包括“初级排行榜” 、 “中级排行榜” 、 “高级排行 榜” ,可以打开查看相应级别排行榜对话框;“帮助”又包括“新手入门” ,显示系 统使用方式。 (2)测试面板可以装载按钮阵列,用来显示图片,并且记录统计图片信息,如果相 同图片数量达到要求时,弹出记录用户信息对话框,记录用户信息。 (3)还有实时显示“你所用的时间:”和提示相应级别测试信息 4.1.2 主体功能主体功能 1单击“选择级别”菜单可以选择初级/中级/高级/自定义级别,单击“查看排行 榜”菜,可以查看初级记忆榜、中级记忆榜或高级记忆榜。单击“帮助”菜单可以显示 帮助信息。 2.选择级别后,将显示相应级别的测试区域。测试区域由若干个方块组成,每个方 块上都有一个图标,但该图标默认情况下不可见。用鼠标单击测试区中的任何一个方块, 则计时器开始启动,同时该方块上的图标将显示出来。对于初级级别,用户必须用鼠标 连续单击6个图标相同的方块,也就是说,如果用户已经用鼠标连续单击出n(n (People) list.get(j).getTime() People temp = (People) list.get(j); list.set(j, (People) list.get(i); list.set(i, temp); Recod.java 该文件生成的类负责记录各个级别的成绩。 Record.java import java.io.*; import java.util.*; import javax.swing.*; import java.awt.event.*; import java.awt.*; public class Record extends JFrame implements ActionListener int time = 0; JTextField yourName, label; JButton 确定, 取消; File gradeFile = null; public Record(File f) super(“记录你的成绩到:“ + f.toString(); gradeFile = f; setBounds(100, 100, 330, 160); setResizable(false); setVisible(false); 确定 = new JButton(“确定“); 取消 = new JButton(“取消“); yourName = new JTextField(8); yourName.setText(“匿名“); 确定.addActionListener(this); 取消.addActionListener(this); Container con = getContentPane(); con.setLayout(new GridLayout(2, 1); label = new JTextField(“输入你的姓名,将成绩存放到排行榜:“ + f.toString(); label.setEditable(false); con.add(label); JPanel p = new JPanel(); p.add(yourName); p.add(确定); p.add(取消); con.add(p); addWindowListener(new WindowAdapter() public void windwoClosing(WindowEvent e) setVisible(false); dispose(); public void setFile(File f) gradeFile = f; public void setTime(int time) this.time = time; public void actionPerformed(ActionEvent e) if (e.getSource() = 确定) try FileInputStream in = new FileInputStream(gradeFile); ObjectInputStream object_in = new ObjectInputStream(in); LinkedList list = (LinkedList) object_in.readObject(); object_in.close(); in.close(); People people = new People(yourName.getText(), time); list.add(people); FileOutputStream out = new FileOutputStream(gradeFile); ObjectOutputStream object_out = new ObjectOutputStream(out); object_out.writeObject(list); out.close(); object_out.close(); catch (Exception event) System.out.println(event); setVisible(false); dispose(); if (e.getSource() = 取消) setVisible(false); dispose(); People.java 给文件生成的类负责存放用户的信息。 People.java public class People implements java.io.Serializable String name = null; int time = 0; public People(String name, int t) = name; time = t; public int getTime() return time; public String getName() return name; (2).图像文件 a0.png :方块上的图标。 a1. png :方块上的图标。 a2. png :方块上的图标。 a3. png :方块上的图标。 a4. png :方块上的图标。 a5. png :方块上的图标。 a6. png :方块上的图标。 a7. png :方块上的图标。 a8. png :方块上的图标。 关闭. png :方块关闭时显示的图标。 4.2.2 系统流程图系统流程图 开始 创建容器 选择菜单 查看排行榜 选择级别 查看帮助信息 相应级别提示 加载”方块“ 随机设置“方块“上的 图标 加载”图标“并开 始计时 结束 显示相应级 别排行榜 显示操作信息 相同图标满足要求 显示保存成 绩对话框 输入玩家姓名 成绩排序后保存到相应文件中 是否保存成绩 是 是 否 否 系统流程图 4.2.3 系统详细设计系统详细设计 (1)工作原理: 系统主体部分是在底层容器上插入面板,并在面板上安排按钮阵列,当用户点击按 钮,经过随机安排在按钮后面的图片显示出来。通过对比图片下标,如果所显示图片和 前一个显示图片一样,则没变化;如果,不一样,则把以前所有显示的图片重新用按钮 遮盖。当用户点开指定数量的图片时,就进入记录数据部分。 在测试过程中,显示用户测试时间。 记录数据部分。是把用户输入的姓名和系统记录用户测试时间写入指定文档中保存。 查阅数据部分,是把指定文档的数据显示给用户,包括姓名和测试时间。用户此时可 以清除文档中数据,即可删除排行榜。 (2)算法思路: 主窗口安排指定数量按钮,是通过用户所选级别传参数计算后进行安排。随机分布 图片需要随机函数随机产生指定数量的图片下标,并传给主窗口的按对应按钮通过对比 所显示图片的下标,统计显示的相同图片的数量。用户测试开始后,记录测试时间,并 保存。 (3)主类 Memory a).成员变量 主要成员变量(属性): 成员变量描述变量类型名称 菜单条JMenuBarBar 菜单JMenuItemFileMenu 菜单项JMenuBar 初级,中级,高级,初级 排行榜,中级排行榜,高 级排行榜 面板容器MemoryTestPane记忆测试板 方块数组Blockblock 显示成绩ShowRecord显示成绩表对话框 图标数组ImageIconicon b).方法 主要方法: 名称功能备注 Memory创建窗口构造方法 给出级别测试选择级别 actionPerformed处理ActionEvent事件接口方法 Main主程序开始执行 3).流程图: Memory流程图 (2).类Block a).成员变量 开始 创建主窗口,默认的 MemoryTestPane对象为初级 选择级别 生成记录各个级别 成绩的文件 查看排行榜 选择“帮助” 显示初级测试区域 结束 显示相应级别排名 选择查看级别 显示操作信息 是 否 是 否否 是 否 主要成员变量(属性): 成员变量描述变量类型名称 方块翻开时的图标ImageIcon翻开时的图标 方块关闭时的图标ImageIcon关闭时的图标 b).方法 主要方法: 名称功能备注 Block创建方块对象的构造方法 获取翻开时的图标获取方块翻开时的图标 获取关闭时的图标获取方块关闭时的图标 设置翻开时的图标设置翻开时的图标 设置关闭时的图标设置关闭时的图标 设置图标设置方块上的图标 actionPerformed处理ActionEvent事件处理ActionEvent事件 (3).类MemoryTestPane a).成员变量 主要成员变量(属性): 变量描述变量类型名称 随机排列图标对象RandomSetIcon排列图标 方块数组Blockblock 图标数组ImageIconicon 添加方块对象用的链表LinkedListlistIcon 添加图标对象用的链表LinkedListlistIcon 确定是否成功的对象intsuccess 用来计时的对象Timer计时器 记忆测试板的行数和列数int行数,列数 b).方法 主要方法: 名称功能备注 MemoryTestPane 创建记忆测试板对象的构 造方法 actionPerformed处理ActionEvent事件接口方法 c).流程图 MemoryTestPane流程图 (4).类 ShowRecord a). 成员变量 主要成员变量(属性): 成员变量描述变量类型名称 存放成绩的文件FilegradeFile 按钮对象JButton确定,清除 显示成绩的区域JTextAreashow b).方法 开始 翻开第一个方块 得分,添加图标及 方块到链表 和上一次翻开的方块的 图标是否相同 计时器开始计时 将图标和方块链表清空,成功次数恢复到 一次,其他方块显示成关闭图标 结束 取上一次翻开的方 块的图标 成功次数是否达到规定次数 本次测试成功 是 否 否 是 主要方法: 名称功能备注 ShowRecord创建显示成绩窗口构造方法 actionPerformed处理ActionEvent事件接口方法 c).流程图 ShowRecorde流程图 (5).类 Record a).成员变量 主要成员变量(属性): 成员变量描述变量类型名称 用时inttime 输入测试者的名字JTextFieldyourname 存放成绩的文件FilegradeFile 开始 选择“清空排行榜” 选择“显示排行榜” 清空成绩记录 按用时进行排序 显示成绩排序 结束 否 是 否 是 是否保存成绩的按钮JButton确定,取消 b).方法 主要方法: 名称功能备注 Record创建保存成绩窗口构造方法 actionPerformed处理ActionEvent事件接口方法 setTime设置时间 setFile设置文件 (6).类 ShowHelp a).成员变量(无) b).方法 主要方法: 名称功能备注 ShowHelp显示帮助文本构造方法 (7).类 RandomSetIcon a).成员变量(无) b).方法 主要方法: 名称功能备注 随机设置图标随机排列记忆测试板中方 块的图标 (8).类 People a)成员变量 主要成员变量(属性): 描述变量类型名称 测试者名字Stringname 用时inttime b) 方法 主要方法: 名称功能备注 People传递名字和时间构造方法 getTime返回使用者用时 getName返回使用者名字 4.3 运行与测试运行与测试 4.3.1 测试方案测试方案 将 8 个 java 文件保存到一个文件夹中,例如,D:jiyiceshi。将 8 个文件分别编译 成相应的字节码(.class)文件。然后,用 java 解释器运行主类:C:jiyiceshijava Memory 程序运行后选择各菜单,分别进行功能测试。 4.3.2 测试结果测试结果 (1)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论