Java课程设计选题模板教学教材.docx
《Java课程设计选题模板教学教材.docx》由会员分享,可在线阅读,更多相关《Java课程设计选题模板教学教材.docx(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java课程设计选题模板教学教材 Java课程设计选题 Java课程设计说明 本次课程设计的目的是通过课程设计的各个项目的综合训练,培养学生实际分析问题、编程和动手能力,提高学生的综合素质。本课程设计尝试使用一些较生动的设计项目,激发学生的学习兴趣,引导学生主动学习,正确理解和接受需要重点掌握的知识点。 1、分析项目要求 每个课程设计项目都有其相关的设计要求,其中对项目实现的功能做了详细定义。如果某些知识面掌握的不是很好,可以再返回去重新熟悉与掌握。 2、自学新知识 每个课程设计项目都涉及一些新的知识面(老师没有在课堂上讲解的内容),在开始设计前,首先要查阅相关资料,学习和掌握项目中涉及的新知
2、识,提高自学能力。 3、界面设计 本次课程设计都是图形界面程序,所以在实现程序功能前,可以先完成图形界面设计(建议采用swing组件或第三方swt组件)。在部分项目运行效果示例中,抓取了运行结果界面。项目图形界面所涉及了容器、组件、布局知识,在设计图形界面前,可以再回顾下以上知识(建议采用较智能的开发工具如:eclipse、Jbuilder等)。 4、项目功能实现 每种功能其实就是相应控件的响应事件,所以要根据课程设计要求把各种功能转换成相应组件的响应事件。如动作事件(ActionEvent)、键盘事件(KeyEvent)、鼠标事件(MouseEvent)、焦点事件(FocusEvent)。对
3、于比较复杂的功能,先要设计该功能实现的算法和程序流程图,然后再用程序语句去实现。 5、项目测试与扩展 项目程序设计完以后,运行该项目,一一测试所有项目功能,如有不合要求的话,重新修改程序以达到项目要求。如有时间的话,可以在项目要求的基础上扩展创新一些功能,根据其创新情况可以给予适当的加分。 1) 选题要求: 本次课程设计所提供的课程题目,每2-3人一组选择一个题目,不能超过3人,每组成员自由组合。 选题分三种类型:普通题、提高题和挑战题,每种题型的起步分分别为:中、良和优,如在该题型中选题完成良好的可以相应提高分数等级。 2) 界面要求: 尽量使用swing包实现图形界面,要符合日常软件使用规
4、范来设计菜单和界面。 如果无法实现图形界面,则在命令行方式下也需要提供菜单,方便用户操作。 3) 代码要求: 标识符命名遵循java命名规范。 能够考虑各种异常处理,注重提高程序运行效率。 4) 提交内容: 全部源代码。(以班为单位做一张光盘,学习委员完成) 课程设计报告(每组一份) 注:课程设计报告严格按照给的java课程设计报告书模版要求撰写,课设报告要求1520页(包含代码)。 普通题 题目计算器 设计内容设计一个图形界面(GUI)的计算器应用程序,完成简单的算术运算、 设计要求设计的计算器应用程序可以完成家法、减法、乘法、除法和取余运算。且有小数点、正负号、求倒数、退格和清零功能。 学
5、习要点本程序主要练习使用布局管理器设计一个计算器的界面,并练习使用事件监听器处理数据的输入,并完成相关的计算。 设计思路本应用程序继承自框架类(Frame),此程序使用Frame布局管理器BorderLayout,将单行文本框加入到“North”区域,包含各种按钮的面板Panel p加入到”Center”区域。包含各种按钮的面板Panel p 采用4行5列的网格布局,然后将数字按钮和运算符按钮以及控制按钮添加到面板中。同时注册按钮事件监听器。如: Button b=new Button(); b.addActionListener(事件监听器); 事件监听器中的事件处理方法void actio
6、nPerformed(ActionEvent evt)完成主要的按钮事件的处理。事件处理分以下几种情况:数字按钮事件(”0”,”1”,”2”8”,”9”)、运算符按钮事件(”+”,”“,”*”,”/”,”%”)、正负号按钮事件(”+/-“)、小数点按钮事件(”.”)、等号按钮事件(”)、求倒按钮事件(”1/x”)、退格按钮事件(”退格”)、清楚按钮事件(“C”)。在事件处理。 触发按钮事件时,要进一步分析,是重新开始计算时触发的按钮事件还是计算中间触发的按钮事件。 计算器完成的是一个数学表达式,如:32,所以可以采用一个链表(LinkedList类)来存储数字或字符,如3,2分别存储在链表中,
7、最后运算时,可以一一取出来进行运算。 本应用程序中的数字按钮和运算符按钮可以分别定义以下两个类的对象组件 数字按钮NumberButton类如下: import java.awt.*; import java.awt.event.*; import javax.swing.*; public class NumberButton extends Button int number; public NumberButton(int number) super(+number); this.number=number; setForeground(Color.blue); public int g
8、etNumber() return number; 运算符按钮OperationButton类如下 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class OperationButton extends Button String 运算符号; public OperationButton(String s) super(s); 运算符号=s; setForeground(Color.red); public String get运算符号() return 运算符号; 相关学习资料 Linked
9、List类: LinkedList类在Java标准类库的java.util包定义,它提供域数组类似的服务,包括可以插入或删除元素。与数组不同的是,LinkList对象可以根据需要,动态地改变大小。LinkList对象中存储的是对Object类的一系列引用,对任何类型对象的引用都可以被添加倒LinkList 对象中。LinkedList类中有以下方法 public LinkedList() /构造方法 public Object getFirst() /返回链表中的第一个元素 public Object getLast() /返回链表中的最后一个元素 public Object removeFi
10、rst() 删除并返回第一个链表元素 public Object removeLast() 删除并返回最后一个链表元素 public void addFirst(Object o) /插入一个元素在为链表的第一个元素 public void addLast(Object o) /插入一个元素为链表的最后一个元素 public boolean contains(Object o) /是否存在该元素 public int size() /返回链表元素个数 public boolean add(Object o) /添加元素o public boolean remove(Object o)/删除元素
11、o public boolean addAll(Collection c) /添加一个对象集c public void clear() /清除列表中的所有元素 public Object get(int index) /返回指定位置(index)的链表元素 public Object set(int index, Object element)/设定指定位置(index)的链表元素为元素element public void add(int index, Object element) /在链表特定位置(index)上插入链表元素 public Object remove(int index)
12、/删除指定位置(index)上的链表元素 下面举例应用LinkedList类 import java.awt.*; import java.awt.event.*; import java.util.LinkedList; public class UseLinkedList extends Frame Public static void main(String args) String opertation1=“+”,”-“,”*”,”/”,”%”; String ipe0,ope1,ope2,ope3,ope4; Int n; LinkedList list1; For(int I=0;
13、Iopertation.length;I+) list1.add(opertationi); ope0=(String)list1.getFirst(); ope1=(String)list1.get(1); ope4=(String)list1.getLast(); list1.set(2,”&”); ope2=(String)list1.get(2); list1.remove(“/”); list1.removeLast(); n=list1.size(); System.out.println(“链表中一共有”n”元素”); System.out.println(“ope0ope4分别
14、为”ope0+ope1+ope2+ope3+ope4); 运算结果为:3 + & 运行效果示例: 题目简单投票管理系统 设计要求 设计一个如图1所示的投票管理系统界面,要求输入候选人名单后,点击确认按钮实现使用选择框代表候选人,计选择框的名字就是候选人的名字。点击取消按钮候选人输入框为空,重新输入候选人名单。选中候选人的选择框时,表示给该候选人投一票。点击确定按钮时表示产生一张选票。点击刷新按钮回到程序的初始界面重新设置候选人。根据选择框的状态变化统计出候选人的最后得票数,并可按票选取多少点击排序按钮对候选人进行排序。(其中,最多从候选人中选取3人,如果一张选票选取多于3人,该票就作废票处理。
15、如果一个也没投票,就作弃权处理。程序能显示一共统计了多少选票,并能统计出废票和弃权票的票数。学习要点 本程序主要学习窗口的布局以及按钮事件的触发。 设计思路 定义几个类变量来记录投票相关记录如: Checkbox checkbox /选择框数组,代表候选人 TextField personV ote /文本条数组,显示每个人的得票情况int count /记录每个人的得票数 int totalVote=0, /总票数 int peopleNumber=0; /候选人个数 int 有效人数=3,废票数=0,弃权票数=0; 在输入候选人名单时是输入一串名字,所以要从这一串名字中单个的提取出来并统计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 课程设计 选题 模板 教学 教材
限制150内