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) 界面要求: 尽量使用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 actionPerformed(ActionEvent
6、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 getNumber() return numbe
8、r; 运算符按钮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 运算符号; 相关学习资料 LinkedList类: LinkedList类在Java
9、标准类库的java.util包定义,它提供域数组类似的服务,包括可以插入或删除元素。与数组不同的是,LinkList对象可以根据需要,动态地改变大小。LinkList对象中存储的是对Object类的一系列引用,对任何类型对象的引用都可以被添加倒LinkList 对象中。LinkedList类中有以下方法 public LinkedList() /构造方法 public Object getFirst() /返回链表中的第一个元素 public Object getLast() /返回链表中的最后一个元素 public Object removeFirst() 删除并返回第一个链表元素 publ
10、ic 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)/删除元素o public boolean addAll
11、(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)/删除指定位置(index)上的链表元素 下面
12、举例应用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;Iopertation.length;I+)
13、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分别为”ope0+ope1+ope2+ope3+o
14、pe4); 运算结果为:3 + & 运行效果示例: 题目简单投票管理系统 设计要求 设计一个如图1所示的投票管理系统界面,要求输入候选人名单后,点击确认按钮实现使用选择框代表候选人,计选择框的名字就是候选人的名字。点击取消按钮候选人输入框为空,重新输入候选人名单。选中候选人的选择框时,表示给该候选人投一票。点击确定按钮时表示产生一张选票。点击刷新按钮回到程序的初始界面重新设置候选人。根据选择框的状态变化统计出候选人的最后得票数,并可按票选取多少点击排序按钮对候选人进行排序。(其中,最多从候选人中选取3人,如果一张选票选取多于3人,该票就作废票处理。如果一个也没投票,就作弃权处理。程序能显示一共
15、统计了多少选票,并能统计出废票和弃权票的票数。学习要点 本程序主要学习窗口的布局以及按钮事件的触发。 设计思路 定义几个类变量来记录投票相关记录如: Checkbox checkbox /选择框数组,代表候选人 TextField personV ote /文本条数组,显示每个人的得票情况int count /记录每个人的得票数 int totalV ote=0, /总票数 int peopleNumber=0; /候选人个数 int 有效人数=3,废票数=0,弃权票数=0; 在输入候选人名单时是输入一串名字,所以要从这一串名字中单个的提取出来并统计出候选人个数,在完成这项功能时要用到Stri
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 课程设计 选题
限制150内