您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > Java课程设计选题
Java课程设计选题Java课程设计说明本次课程设计的目的是通过课程设计的各个项目的综合训练,培养学生实际分析问题、编程和动手能力,提高学生的综合素质。本课程设计尝试使用一些较生动的设计项目,激发学生的学习兴趣,引导学生主动学习,正确理解和接受需要重点掌握的知识点。【课程设计步骤】1、分析项目要求每个课程设计项目都有其相关的设计要求,其中对项目实现的功能做了详细定义。如果某些知识面掌握的不是很好,可以再返回去重新熟悉与掌握。2、自学新知识每个课程设计项目都涉及一些新的知识面(老师没有在课堂上讲解的内容),在开始设计前,首先要查阅相关资料,学习和掌握项目中涉及的新知识,提高自学能力。3、界面设计本次课程设计都是图形界面程序,所以在实现程序功能前,可以先完成图形界面设计(建议采用swing组件或第三方swt组件)。在部分项目运行效果示例中,抓取了运行结果界面。项目图形界面所涉及了容器、组件、布局知识,在设计图形界面前,可以再回顾下以上知识(建议采用较智能的开发工具如:eclipse、Jbuilder等)。4、项目功能实现每种功能其实就是相应控件的响应事件,所以要根据课程设计要求把各种功能转换成相应组件的响应事件。如动作事件(ActionEvent)、键盘事件(KeyEvent)、鼠标事件(MouseEvent)、焦点事件(FocusEvent)。对于比较复杂的功能,先要设计该功能实现的算法和程序流程图,然后再用程序语句去实现。5、项目测试与扩展项目程序设计完以后,运行该项目,一一测试所有项目功能,如有不合要求的话,重新修改程序以达到项目要求。如有时间的话,可以在项目要求的基础上扩展创新一些功能,根据其创新情况可以给予适当的加分。【课程设计要求】1)选题要求:本次课程设计所提供的课设题目,每人选择一个题目。选题分三种类型:普通题、提高题和挑战题,每种题型的起步分分别为:中、良和优,如在该题型中选题完成良好的可以相应提高分数等级。如课设能达优的同学必须在课设上机安排时间内参加答辩。2)界面要求:尽量使用swing包实现图形界面,要符合日常软件使用规范来设计菜单和界面。如果无法实现图形界面,则在命令行方式下也需要提供菜单,方便用户操作。3)代码要求:标识符命名遵循java命名规范。能够考虑各种异常处理,注重提高程序运行效率。4)提交内容:全部源代码。课程设计报告注:课程设计报告严格按照老师给的《java课程设计报告书模版》要求撰写,课设报告要求15~20页(不包含代码)。普通题题目计算器设计内容设计一个图形界面(GUI)的计算器应用程序,完成简单的算术运算、设计要求设计的计算器应用程序可以完成家法、减法、乘法、除法和取余运算。且有小数点、正负号、求倒数、退格和清零功能。学习要点本程序主要练习使用布局管理器设计一个计算器的界面,并练习使用事件监听器处理数据的输入,并完成相关的计算。设计思路本应用程序继承自框架类(Frame),此程序使用Frame布局管理器BorderLayout,将单行文本框加入到“North”区域,包含各种按钮的面板Panelp加入到”Center”区域。包含各种按钮的面板Panelp采用4行5列的网格布局,然后将数字按钮和运算符按钮以及控制按钮添加到面板中。同时注册按钮事件监听器。如:Buttonb=newButton();b.addActionListener(事件监听器);事件监听器中的事件处理方法voidactionPerformed(ActionEventevt)完成主要的按钮事件的处理。事件处理分以下几种情况:数字按钮事件(”0”,”1”,”2”…”8”,”9”)、运算符按钮事件(”+”,”-“,”*”,”/”,”%”)、正负号按钮事件(”+/-“)、小数点按钮事件(”.”)、等号按钮事件(”=”)、求倒按钮事件(”1/x”)、退格按钮事件(”退格”)、清楚按钮事件(“C”)。在事件处理。触发按钮事件时,要进一步分析,是重新开始计算时触发的按钮事件还是计算中间触发的按钮事件。计算器完成的是一个数学表达式,如:3+2,所以可以采用一个链表(LinkedList类)来存储数字或字符,如3,+,2分别存储在链表中,最后运算时,可以一一取出来进行运算。本应用程序中的数字按钮和运算符按钮可以分别定义以下两个类的对象组件数字按钮NumberButton类如下:importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassNumberButtonextendsButton{intnumber;publicNumberButton(intnumber){super(+number);this.number=number;setForeground(Color.blue);}publicintgetNumber(){returnnumber;}}运算符按钮OperationButton类如下importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassOperationButtonextendsButton{String运算符号;publicOperationButton(Strings){super(s);运算符号=s;setForeground(Color.red);}publicStringget运算符号(){return运算符号;}}相关学习资料LinkedList类:LinkedList类在Java标准类库的java.util包定义,它提供域数组类似的服务,包括可以插入或删除元素。与数组不同的是,LinkList对象可以根据需要,动态地改变大小。LinkList对象中存储的是对Object类的一系列引用,对任何类型对象的引用都可以被添加倒LinkList对象中。LinkedList类中有以下方法publicLinkedList()//构造方法publicObjectgetFirst()//返回链表中的第一个元素publicObjectgetLast()//返回链表中的最后一个元素publicObjectremoveFirst()删除并返回第一个链表元素publicObjectremoveLast()删除并返回最后一个链表元素publicvoidaddFirst(Objecto)//插入一个元素在为链表的第一个元素publicvoidaddLast(Objecto)//插入一个元素为链表的最后一个元素publicbooleancontains(Objecto)//是否存在该元素publicintsize()//返回链表元素个数publicbooleanadd(Objecto)//添加元素opublicbooleanremove(Objecto)//删除元素opublicbooleanaddAll(Collectionc)//添加一个对象集cpublicvoidclear()//清除列表中的所有元素publicObjectget(intindex)//返回指定位置(index)的链表元素publicObjectset(intindex,Objectelement)//设定指定位置(index)的链表元素为元素elementpublicvoidadd(intindex,Objectelement)//在链表特定位置(index)上插入链表元素publicObjectremove(intindex)//删除指定位置(index)上的链表元素下面举例应用LinkedList类importjava.awt.*;importjava.awt.event.*;importjava.util.LinkedList;publicclassUseLinkedListextendsFrame{Publicstaticvoidmain(Stringargs[]){Stringopertation1[]={“+”,”-“,”*”,”/”,”%”};Stringipe0,ope1,ope2,ope3,ope4;Intn;LinkedListlist1;For(intI=0;Iopertation.length;I++)list1.add(opertation[i]);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(“ope0-ope4分别为”+ope0+ope1+ope2+ope3+ope4);}}运算结果为:3+-&运行效果示例:题目简单投票管理系统设计要求设计一个如图1所示的投票管理系统界面,要求输入候选人名单后,点击确认按钮实现使用选择框代表候选人,计选择框的名字就是候选人的名字。点击取消按钮候选人输入框为空,重新输入候选人名单。选中候选人的选择框时,表示给该候选人投一票。点击确定按钮时表示产生一张选票。点击刷新按钮回到程序的初始界面重新设置候选人。根据选择框的状态变化统计出候选人的最后得票数,并可按票选取多少点击排序按钮对候选人进行排序。(其中,最多从候选人中选取3人,如果一张选票选取多于3人,该票就作废票处理。如果一个也没投票,就作弃权处理。程序能显示一共统计了多少选票,并能统计出废票和弃权票的票数。学习要点本程序主要学习窗口的布局以及按钮事件的触发。设计思路定义几个类变量来记录投票相关记录如:Checkboxcheckbox[]//选择框数组,代表候选人TextFieldpersonVote[]//文本条数组,显示每个人的得票情况intcount[]//记录每个人的得票数inttotalVote=0,//总票数intpeopleNumber=0;//候选人个数int有效人数=3,废票数=0,弃权票数=0;在输入候选人名单时是输入一串名字,所以要从这一串名字中单个的提取出来并统计出候选人个数,在完成这项功能时要用到StringTokenizer类。点击确认按钮后,根据候选人个数添加单选按钮,并以候选人名字作为单选按钮的标签名。然后通过确定按钮事件分别给以上定义的各变量赋值。把结果显示出来,同时可以根据peopleNumber的值对各候选人文本框排序,即调整候选人文本框中的内容。相关学习资料StringTokenizer类有时我们需要分析字符串并将字符串分解成可被独立使用的单词,这些单词叫做语言符号。例如,对于字符串WeareStudents,如果我们把空格作为该字符串的分隔符,那么该字符串有3个单词(语言符号)。而对于字符串WE,are,Student,如果我们把逗号作为了该字符串的分隔符,那么该字符串有3个单词(语音符号)。当我们分析一个字符串并将字符串分解成可别独立使用的单词时,可以使用java.util包中的StringTokenizer类,改类有两个常用的构造方法:StringTokenizer(Strings)为字符串s构造一个分析器。使用默认的分隔符集合,即空格符(若干个空格被看作一个空格)、换行符、回车符、Tab符、进纸符。StringTokenizer(StringsStringdelim)为字符串s构造一个分析器。参数delim中的字符被作为分隔符。例如:StringTokenlizerfenxi=newStringTokenizer(“Wearestudent”);StringTokenlizerfenxi=newStringTokenizer(“We,are;student”,”,”);我们把一个StringTokenzi
本文标题:Java课程设计选题
链接地址:https://www.777doc.com/doc-6381783 .html