Java语言 课程设计任务书及题目(tcl)
- 格式:doc
- 大小:365.00 KB
- 文档页数:26
tcljava笔试题及答案1. 请简述Java中的异常处理机制。
答案:Java中的异常处理机制是通过try、catch、finally和throw 关键字实现的。
try块用于包裹可能抛出异常的代码,catch块用于捕获并处理异常,finally块则无论是否发生异常都会执行,通常用于资源清理。
2. 在Java中,什么是接口?请举例说明。
答案:接口是Java中一种完全抽象的结构,它包含常量和抽象方法声明。
接口不能直接实例化,但可以被实现(implement)。
例如,`java.io.Serializable`是一个接口,它允许对象实现序列化。
3. 描述Java中集合框架的基本结构。
答案:Java集合框架包含两大类集合:单列集合和双列集合。
单列集合有List、Set和Queue,双列集合有Map。
List允许重复元素,Set 不允许重复元素,Queue是队列的实现,Map存储键值对。
4. Java中如何实现多线程?答案:Java中实现多线程有两种方式:继承Thread类或实现Runnable接口。
继承Thread类需要重写run方法,而实现Runnable 接口需要实现run方法,并通过Thread类的对象来调用。
5. 解释Java中的垃圾回收机制。
答案:Java中的垃圾回收机制是指自动回收不再被引用的对象占用的内存。
Java虚拟机(JVM)负责监控对象的引用,当对象没有任何引用时,垃圾回收器会回收这些对象占用的内存。
6. 请解释Java中的泛型。
答案:Java中的泛型是支持泛型编程的机制,允许在编译时进行类型检查,以确保类型安全。
泛型可以用于类、接口和方法,例如`List<String>`表示一个字符串列表。
7. 在Java中,什么是注解(Annotation)?答案:注解是一种特殊的接口,用于提供关于代码的元数据。
注解可以用于类、方法、变量等,并且可以在运行时通过反射获取。
8. 描述Java中的反射机制。
Java语言课程设计任务书及题目一、Java语言课程设计目的和要求1.目的:1)复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;2)课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。
提高学生适应实际,实践编程的能力;3)培养学生在项目开发中团队合作精神、创新意识及能力。
2.要求:1、对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理;2、系统设计要实用,编程简练,可用,功能全面3、说明书、流程图要清楚4、记录设计情况(备查,也为编写设计说明书作好准备);5、要求采用模块化程序设计方法,及锯齿型书写格式,要求上机调试通过和按设计报告格式。
6、设计上交内容:设计报告一份(按格式书写);源程序文件。
7、每人上传上述内容的压缩包,文件名形如“2008813018张三.rar”(学号加姓名组成)。
统一交给学习委员。
二、Java语言课程设计选题如下:1. 算术运算测试(2人)功能要求:该程序用字符界面实现十道100以内加减法数学题,能根据题目计算出答案,与输入答案对比,判断做题是否正确,最后计算分数。
界面要求:用字符界面实现、也可用图形界面实现。
2. 猜数游戏(2人)功能要求:计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出所用时间和评语。
界面要示:用字符界面实现、也可用图形界面实现。
3. 学生成绩管理(3人)功能要求:1)输入十个同学的学号,姓名,四科成绩(应用数学、大学英语、Java程序设计、计算机应用基础)2)计算出平均成绩。
以平均成绩降序输出成绩表。
3)输出全组各科平均分,最高分和最低分。
4)输入姓名查询成绩界面要示:用字符界面实现、也可用图形界面实现。
5)能连接数据库并实现查询、增、删、改等功能(此项功能作为可选项,可以不要)。
《Java语言程序设计课程设计》任务书及题目一、J ava语言课程设计目的和要求1.课程目的1)总结、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握。
2)通过课程设计为学生提供了一个既动手又动脑,独立实践的机会,可以将课本上的理论知识和现实问题有机地结合起来,锻炼学生的分析、解决实际问题的能力。
3)培养学生在项目开发中团队合作精神、创新意识及综合能力。
2.课程要求1、对系统进行功能模块分析、模块分析要准确,符合课题要求,实现相应功能;可以另外加上其他功能或修饰,使程序更加美观、完善、合理。
2、系统设计要实用,编程要简练,功能要尽量全面,尽量具有实用功能。
3、要求采用面向对象程序设计方法,程序采用阶梯缩进书写格式,要求上机调试通过。
5、按要求撰写《Java语言程序设计课程设计》总结报告(模板另附),并及时上交。
二、Java语言课程设计课题课题一:学生成绩管理系统1.1 功能要求:1.1.1 创建数据库菜单1、用创建数据库菜单的创建库结构菜单项创建Access数据库的Student表单,其库结构为:学生编号(字符型10字符,其中年份(4字符)院系(2字符),编号(4字符))姓名(字符型15字符)出生日期(字符型10位,例如1999-02-15)数学(整型)英语(整型)2、用创建数据库菜单的录入记录菜单项录入5~6名学生的信息的Access数据库的Student表单中。
1.1.2 一般查询菜单1、用一般查询菜单的顺序查询菜单项执行对Student表单的顺序查询操作。
2、用一般查询菜单的条件查询菜单项执行对Student表单的条件查询操作。
1.1.3 高级查询菜单1、用高级程序菜单的排序查询菜单项执行对Student表单的排序查询操作。
2、用高级程序菜单的模糊查询菜单项执行对Student表单的模糊查询操作。
3、用高级程序菜单的随机查询菜单项执行对Student表单的随机查询操作。
1.1.4 记录操作菜单1、用记录操作菜单的修改记录菜单项执行对Student表单的修改记录操作。
java课程设计题目一、教学目标本课程旨在通过Java编程语言的学习,让学生掌握Java编程的基本语法、概念和编程技巧,培养学生具备基本的编程能力和解决问题的能力。
具体的教学目标如下:1.理解Java编程语言的基本语法和结构。
2.掌握Java中的基本数据类型、运算符和表达式。
3.熟悉Java中的控制结构、循环结构和数组操作。
4.了解Java中的面向对象编程概念,如类、对象、继承和多态。
5.能够使用Java编程语言编写简单的程序,解决实际问题。
6.能够运用面向对象编程思想,设计和实现具有一定复杂度的程序。
7.能够运用Java编程语言进行调试和优化程序,提高程序的性能和可读性。
情感态度价值观目标:1.培养学生对编程语言的兴趣和热情,激发学生对计算机科学的探索精神。
2.培养学生的问题解决能力和创新思维,鼓励学生勇于面对挑战和解决问题。
3.培养学生的团队合作意识和沟通能力,鼓励学生与他人合作共同完成项目。
二、教学内容根据课程目标,本课程的教学内容主要包括Java编程语言的基本语法、概念和编程技巧。
具体的教学大纲如下:第1-2周:Java编程基础1.Java语言概述和环境配置2.Java基本语法和数据类型3.运算符和表达式4.控制结构(条件语句、循环语句)第3-4周:面向对象编程1.类和对象的概念2.构造方法和成员变量3.继承和多态的概念和应用4.抽象类和接口第5-6周:Java高级特性1.异常处理和输入输出流2.集合框架和泛型编程3.线程和多线程编程4.Java网络编程基础三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式进行教学。
具体的教学方法如下:1.讲授法:通过教师的讲解和演示,向学生传授Java编程的基本概念和语法。
2.案例分析法:通过分析实际案例,让学生理解和掌握Java编程的技巧和方法。
3.实验法:通过上机实验,让学生亲手编写代码,培养学生的编程能力和实践能力。
《Java语言程序设计》专业实习任务(一)一、设计目的:本次设计是对教材前7章的总结。
在学习Java基本语法的基础上,利用面向对象的程序设计方法解决一些简单的问题。
设计的目的在于掌握Java的基本原理、设计方法和使用规则;能够运用面向对象方法分析问题,并利用所学知识合理地进行设计;熟练掌握Application的编写和运行过程;并能够进行简单的GUI设计。
二、设计题目:㈠程序改错。
根据题目要求调试下面的程序,分析错误原因并改正,直到运行正确,写出运行结果。
⒈输出40以内的素数,每行输出6个数。
public class Prime_1_1{public static void main(String[] args){final int MAX=40;int i,j,num;System.out.print(2+"\t");counter++;for(num=3;num<=MAX;num=num+2);{int k=3;while(num%k!=0&&k<num) k=k+2;if(k==num){ System.out.print(num+"\t");counter++;if(counter%6==0) System.out.println();}}}}⒉给对象u初始化(姓名:liqiang 性别:m),并显示该对象的数据成员值。
public class Hide_1_2{String name;char gender;public Hide_1_2(String name,char ch){name=name;gender=ch;}public showInfor(){System.out.println("Name: "+name);System.out.println("Gender: "+gender);}public static void main(String[] args){Hide_1_2 u= new Hide_1_2("liqiang",'m');u.showInfor();}}⒊调用Link类的方法完成两个字符串的连接和输出。
课程设计《JAVA程序设计》任务书.《 JA V A 程序设计》课程设计任务书一.课程设计基本信息课程名称:《JAVA 程序设计》课程设计学时:1周学分:1学分二.课程设计目的与要求1.教学目的:本课程是学习《 Java 程序设计》后的综合实践课,使学生能够比较深入的理解Java 语言的特征及体系;熟练的掌握并会运用Java 语言与面向对象程序设计的思想和方法设计应用程序解决应用问题,积累程序设计的实践经验,为培养软件技术高技能人才奠定基础。
本课程是培养计划中综合性较强的实践教学环节之一, 帮助学生掌握教学内容、培养学生运用知识解决应用问题的实际动手能力、提高学生综合素质有很重要的意义。
2.教学要求:本课程设计以设计一个或多个实际应用系统为目的,通过课程设计让学生较全面的掌握 Java 语法基础知识、面向对象程序设计方法, 尤其是基于Java 的应用程序设计的方法与技术, 能够运用 J2SE 平台,结合相应的数据库系统开发应用程序,理论联系实际,达到培养实践操作技能的目的。
学生要了解 Java 程序开发的一般过程,特别掌握系统分析与设计的基本方法,写出系统分析与设计报告,并能设计真实可用的应用系统。
三.课程设计内容与安排根据老师提供的设计题目, 写出系统分析与设计报告, 并建立原型系统。
题目可以由教师与学生根据实际情况商定,可参考的题目:图书借阅管理系统、产品管理系统、学生成绩管理、学生信息管理、人事管理、人力资源管理系统、物流信息管理系统等。
1.主要设计内容如下:(1系统设计:包括系统需求分析、总体设计和功能设计,必要时使用图表说明。
(2数据库设计与实现:包括数据库的需求分析、数据库的概念结构设计和数据库的逻辑设计。
(3系统各模块设计:包括用户界面及相应功能算法等程序设计。
2.教学安排总课时 30课时,其中需求分析与系统设计、数据库设计与实现、系统各模块实现所以及系统集成调试运行用时间建议各占15%,15%,40%,20%的课时, 学生可根据具体情况调整, 利用 10%的时间完成课程设计报告。
Java语言课程设计任务书及题目总体要求:一.选题指导:1.在大作业的基础上进行完善改进。
与老师确认题目。
2.对生活、学习中可能出现的一些情况与问题,尝试使用信息化技术改进,提出解决方案并设计、完成。
也可选择一个感兴趣的题目,如游戏等。
要求:一定要和java相关。
开始课程设计前和老师确认题目与内容。
该类题目如果选择得当,可以适当加分。
与老师确认题目。
3.可以选择手机应用开发,与老师确认题目。
4.下面的指定题目。
二.完成形式:自由分组完成(最多不超过4人一组),也可个人完成。
分组完成推荐使用SVN,如果有使用该技术可额外加分。
三.课程设计具体要求1.必须要有图形、手机或Web界面,存储必须使用数据库或文件。
2.单机版程序要打包成jar文件或者.exe进行发布,只能用Eclipse演示,不予评分。
Web程序必须脱离Eclipse之类的IDE单独运行,不得在IDE中运行。
3.设计要体现面向对象思想。
4.禁止使用中文变量名!四. 所需提交材料1.演示PPT(文字尽量少、图尽量多、不要超过10页,能以最简明扼要的方式突出系统的亮点,功能截图演示部分一定要出现该功能模块的负责人,PPT结构:封面、功能简介(以模块图呈现)、设计简介(以设计图呈现)、各功能模块演示)-每组1份、电子版用于演示,不用上交。
2.J ava语言课程设计考核表格-每组1份、打印版,需上交。
3.课程设计报告(仿照模板)-每人1份、打印版,需上交,不上交无法评分。
五.课程设计流程及评分标准1.不同题目得分系数不同,分为ABCD四大类,请谨慎选择。
原则上,得分系数越高的题目,评分越高。
但涉嫌大部分抄袭,明显不是自己做的,不能参与考核。
2.流程:选题(自选与大作业改进类型的题目需与老师确认),学习委员收集分组名单(确定组长)提交给老师,组长组织设计并确定分工,做课程设计,提交“课程设计考核表”,演示PPT,同时进行程序演示,每个功能模块要由负责该模块的同学进行讲解并评分。
辽源职业技术学院网络技术专业《Java语言程序设计》课程设计计划适用班级:网络103学制:三年入学文化:高中实习周数: 2 周信息工程系·专业教研室说明本设计任务计划书是依据计算机应用专业与网络技术专业高职三年制适用的《Java语言程序设计》课程设计大纲》与相应的专业教学计划中人才培养方案规定制定的。
也适合于其他专业开设了Java语言程序设计课程的班级使用,使用时可根据班级实际情况做适当修改。
一、设计性质、目的和任务1、设计性质本课程设计是学习Java语言程序设计课程以后,进行的程序设计综合实践。
属于对Java语言程序设计课程的提高部分。
2、设计目的实施本设计的其目的在于:通过以小组为单位,集体设计,分工合作的组织形式,对简单Java的程序,实现对Java 语言基本知识的进一步熟练、程序设计思路与分析方法的进一步训练、程序调试技巧的进一步娴熟,从而达到深化理解Java语言基本知识,强化Java语言程序设计的实战能力,及综合运用Java语言的能力。
为继续学习和程序设计、解决实际问题进行程序设计大好基础。
3、设计任务(1)、在熟练运用Java语言基本知识与上机调试技巧的基础上,学习实际应用程序的设计过程与设计方法。
(2)、在规定时间内对所承担的设计题目,进行有效的设计,要求得到一个功能满足设计要求、界面友好、使用方便、设计思想合理、程序简练符合结构化要求的程序。
(3)、在规定时间内提交完整合格的设计报告(设计说明书)。
二、设计内容与要求1、设计主要内容本设计的内容是,设计一个“类实用”小应用程序。
具体题目为:具体设计题目有如下四个:(1)图书管理信息系统;(2)简单的计算器;(3)万年历;(4)学生信息管理系统。
本课程设计需要具体完成主要内容有:(1)调研题目所涉及到的相关工作领域的实际工作流程及工作原则、规范、以及禁止事项与不免事项。
(2)理解题目中的内容及任务要求。
(3)进行需求分析,提出需求。
Java语言课程设计任务书一、Java语言课程设计目的和要求1.目的:1)复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;2)课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。
提高学生适应实际,实践编程的能力;3)培养学生在项目开发中的团队合作精神、创新意识及能力。
2.要求:1)对系统进行需求分析及可行性分析系统实现的目的,项目开发的背景,系统要达到的目标,开发系统所用的开发环境,预期使用的用户等。
2)对系统进行总体设计分析系统的功能结构模块,并给出系统的功能结构图,分析系统的数据流程图,并给出系统的数据流程图,设计要符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理。
3)详细设计①分析系统实体,画出每个实体的E-R图。
②设计所需的数据表,给出所需数据表的字段名称,数据类型,字符长度,字段说明,约束条件。
③编码实现每个子功能模块,并进行测试。
4)系统总结。
二、Java语言课程设计选题如下:可选题目如下:服装进销存管理系统,学生信息管理系统,教务信息管理系统,银行储蓄管理系统,飞机订票管理系统,酒店管理系统,手机缴费管理系统,药店销售管理系统,公司员工工资管理系统,房地产售房管理系统,电脑销售管理系统,派出所户籍管理系统等。
1.分配人数,每组设组长一名,负责该组设计工作的协调、分工等。
2.设计过程:1) 分析设计准备阶段(按组讨论、对系统功能进行分析,确定算法,并进行明确分工);2) 编程调试阶段(绘制流程图,编制源程序;上机调试,修改程序)3) 总结报告和书写说明书阶段(撰写上交相关资料)3、考核过程16周周六上午答辩。
三、考核内容和方式1、在设计期间,学生要按时上机,设计结束根据记录的设计材料整理成设计说明书。
设计说明书中应写下设计中的主要收获,要求对问题有一定的分析,文字简短明确流畅。
201 -201 年第学期《Java程序设计》课程设计任务书班级:指导老师:王海利201 年月日课程设计任务书一、设计题目:购物管理系统设计和实现二、设计目标1.使学生更深入地了解和掌握Java语言程序设计课程中相关基础概念,程序设计思想和方法。
2.培养学生综合利用所学知识独立完成课题能力。
3.培养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应含有素质。
4.提升学生对工作认真负责、一丝不苟,对同学团结友爱,协作攻关基础素质。
5.培养学生从资料文件、科学试验中取得悉识能力,提升学生从她人经验中找四处理问题新路径悟性,初步培养工程意识和创新能力。
6.对学生掌握知识深度、利用理论去处理问题能力、试验能力、课程设计能力、书面及口头表示能力进行考评。
三、设计要求1.可组成设计小组,小组组员分工协作完成。
要求每个组员有自己相对独立模块,同时要了解其它组员完成内容。
2.查阅相关资料,自学具体课题中包含到新知识。
3.采取结构化、模块化程序设计方法,功效要完善,界面要美观。
4.所设计系统标准上要能够运行无误,结果正确。
5.按要求写出课程设计汇报,并于设计结束后一周内提交。
汇报一律用A4纸打印,汉字字体为宋体,西文字体用Time New Roman,一律用小四号字,行距采取“固定值”20磅,首行缩进2字符。
总体设计应配合软件总体模块结构图来说明软件应含有功效。
具体设计应用传统或N-S步骤图和屏幕抓图说明,调试叙述应配合犯错场景抓图来说明出现了哪些错误,怎样处理。
四、设计内容1.开发“我行我素”购物管理系统,完成以下功效:•制作系统登录菜单•制作系统主菜单•制作用户信息管理菜单程序各功效模块界面可参考以下界面:2.升级“我行我素”购物管理系统,完成以下功效:•购物结算•打印购物小票•计算会员积分•模拟幸运抽奖•计算职员工资3.升级“我行我素”购物管理系统,完成以下功效:•录入会员信息•模拟幸运抽奖•菜单切换•计算会员折扣4.升级“我行我素”购物管理系统,完成以下功效:•查询商品价格•升级购物结算•升级菜单切换•升级幸运抽奖5.升级“我行我素”购物管理系统,完成以下功效:•统计用户年纪层次•循环录入会员信息•登录时用户信息验证6. 升级“我行我素”购物管理系统,完成以下功效:•实现管理员类•实现礼品类•修改管理员密码•礼品馈赠7.升级“我行我素”购物管理系统,完成以下功效:•创建我行我素购物管理系统项目结构•系统入口程序•菜单类•菜单切换8.升级“我行我素”购物管理系统,完成以下功效:•实现会员信息、商品信息定义和初始化•显示目前全部会员信息•添加新会员•实现幸运大放送9.升级“我行我素”购物管理系统,完成以下功效:•系统数据传输•自动计算会员折扣•完善购物小票•信息有效性验证五、课程设计工作计划2 月日,指导老师讲课,学生依据题目准备资料;2 月日,设计小组进行总体方案设计和任务分工;201 年1月日~201 年月日,每人完成自己负担程序模块并经过独立编译;201 年月日~201 年月日,将各模块集成为一个完整系统,并录入足够数据进行调试运行;201 年月日,验收、撰写汇报;201 年月日,答辩及总结。
《Java语言程序设计》专业实习任务(二)一、设计目的:本次设计是对教材第7章~第17章的总结。
涉及到的主要知识点有:GUI设计、事件处理、I/O处理和JDBC。
设计的目的在于掌握Java的基本原理、设计方法和使用规则;利用Java提供的事务处理机制,合理选择类和类提供的方法,进行应用程序的初步设计。
二、设计题目:学生信息存放在数据库Student.mdb中,信息包括:学号、姓名、性别、年龄、专业。
系统包括查询、添加、删除、更新和退出系统五个功能。
主界面运行如下:1.功能描述①单击“查询”按钮,可以查询数据库中的学生信息,并将学生信息显示在JPanel中。
运行界面如下:②单击“增加”按钮,可以为数据库表中添加一条学生信息。
运行界面如下:③单击“删除”按钮,可以删除数据库表中的学生信息。
运行界面如下:⑷单击“更新”按钮,可以更新数据库表中指定学号的学生信息。
运行界面如下:要求:学号必须是数字字符串,长度不能大于10;姓名长度不能大于10,专业长度不能大于25。
⑸单击“退出系统”按钮,从整个应用系统中退出。
2.题目要求①根据题目要求建立数据库。
②完成程序段⑴~⒃的编写,使其系统各功能模块能够正常运行。
③回答问题①~⑧。
3.提示信息①Statement createStatement(int resultSetType,int resultSetConcurrency)throws SQLExceptionresultSetType:结果集类型,它是ResultSet.TYPE_FORWARD_ONL Y、ResultSet.TYPE_SCROLL_INSENSITIVE 或ResultSet.TYPE_SCROLL_SENSITIVE 之一;resultSetConcurrency:并发类型;它是ResultSet.CONCUR_READ_ONL Y 或ResultSet.CONCUR_UPDATABLE 之一;②update 语句:update 表名set 字段名=值,字段名=值,……where 条件4.程序清单①StudentManager.javapackage sms;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.Font;import java.awt.GridLayout;import java.awt.Toolkit;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import java.awt.Color;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;public class StudentManager extends JFrame{private JLabel lbl1;private JButton selBtn,addBtn,delBtn,updBtn;private JButton exitBtn;private JPanel panel ;public StudentManager (){super("学生管理系统");// 定义出现的组件:由上而下,自左致右lbl1 = new JLabel("学生管理系统",JLabel.CENTER);lbl1.setFont(new Font("黑体",Font.BOLD,35));selBtn = new JButton("查询");addBtn = new JButton("添加");delBtn = new JButton("删除");updBtn = new JButton("更新");exitBtn=new JButton("退出系统");// 定义容器panel = new JPanel();//为容器设置布局,并将组件添加到容器中FlowLayout flow = new FlowLayout();panel.setLayout(flow);panel.add(selBtn);panel.add(addBtn);panel.add(delBtn);panel.add(updBtn);panel.add(exitBtn);//为按钮添加监听事件selBtn.addActionListener(new ButtonEvent());addBtn.addActionListener(new ButtonEvent());delBtn.addActionListener(new ButtonEvent());updBtn.addActionListener(new ButtonEvent());exitBtn.addActionListener(new ActionListener(){ //完成语句⑴:退出应用系统的功能});//为applet设置布局,并将组件添加到applet中GridLayout grid = new GridLayout(2,1);this.setLayout(grid);this.add(lbl1);this.add(panel);//设置applet的大小this.setSize(400,300);this.setVisible(true);//问题1:Toolkit的作用是什么?Toolkit tool = this.getToolkit();Dimension dim = tool.getScreenSize();this.setLocation(dim.width/3,dim.height/3);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);validate();}public static void main(String[] args){new StudentManager();}}②DatabaseConnection.javapackage sms;//完成语句⑵:导入该类中操作数据库的相关类包public class DatabaseConnection {public static Connection getConnection(String dataSource , String user , String password){ Connection conn = null;try {String driverName = "sun.jdbc.odbc.JdbcOdbcDriver";//完成语句⑶:加载数据库驱动} catch (ClassNotFoundException e) {e.printStackTrace();}try {//完成语句⑷:通过getConnection()方法的参数获取数据库连接赋给conn } catch (SQLException e) {e.printStackTrace();}return conn;}}③SelFrame.javapackage sms;import java.awt.BorderLayout;import java.awt.Color;import java.awt.FlowLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.FocusEvent;import java.awt.event.FocusListener;//完成语句⑸:导入该类中操作数据库的相关类包import javax.swing.*;public class SelFrame extends JFrame implements ActionListener,FocusListener { private Connection conn = null;private Statement stmt = null;private ResultSet rs = null;private int recordCount=0;JLabel lbl1 = null;JLabel lbl2 = null;JTextField tf1 = null;JTextField tf2 = null;JButton selBtn= null;JPanel p1 = null;JPanel p2 = null;JPanel p3 = null;JPanel resultPanel = null;JScrollPane scroll = null;JPanel split = null;JPanel[] p3_1=null;JTextField[] tf3_1 = null;JTextField[] tf4_1 = null;JTextField[] tf5_1 = null;JTextField[] tf6_1 = null;JTextField[] tf7_1 = null;public static int test=1;public SelFrame(){super("学生信息查询");//定义组件:从上到下,从左到右lbl1 = new JLabel("姓名:",10);lbl2 = new JLabel("专业:",10);tf1 = new JTextField(20);tf2 = new JTextField(20);selBtn=new JButton("查询");selBtn.addActionListener(this);JLabel lbl3 = new JLabel("学号",JLabel.CENTER);JLabel lbl4 = new JLabel("姓名",JLabel.CENTER);JLabel lbl5 = new JLabel("年龄",JLabel.CENTER);JLabel lbl6 = new JLabel("性别",JLabel.CENTER);JLabel lbl7 = new JLabel("专业",JLabel.CENTER);p1 = new JPanel (new FlowLayout());p1.add(lbl1);p1.add(tf1);p1.add(lbl2);p1.add(tf2);p2 = new JPanel (new GridLayout(2,1));p2.add(p1);p1.add(selBtn);p3 = new JPanel (new GridLayout(1,5));p3.add(lbl3);p3.add(lbl4);p3.add(lbl5);p3.add(lbl6);p3.add(lbl7);BorderLayout border = new BorderLayout();this.setLayout(border);this.add(p2,BorderLayout.NORTH);//完成语句⑹:当点击窗口的关闭按钮时只销毁该窗口,并不退出应用系统setSize(750,600);setLocation(150,50);setVisible(true);validate();}public void actionPerformed(ActionEvent e) {conn = DatabaseConnection.getConnection("jdbc:odbc:StudentDsn", "", "");try {String txt1,txt2,condition = "";txt1=tf1.getText();txt2=tf2.getText();if (txt1!=null && !txt1.equals(""))condition = " where sname like '%"+txt1+"%' ";if (txt2!=null && !txt2.equals(""))if (condition.equals(""))condition = " where major like '%"+txt2+"%' ";elsecondition =condition + " and major like '%"+txt2+"%' ";String sql = "select * from stu " + condition;stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONL Y); //完成语句⑺:提交sql语句,并将返回的记录集放在rs中//完成语句⑻:获取记录集中的记录条数,放在整形变量recordCount中GridLayout gl=new GridLayout(recordCount,1);if (resultPanel!=null){resultPanel.removeAll();//问题2:该语句的功能是什么?else{resultPanel = new JPanel(gl);//问题3:该条语句什么时候执行?}//问题2:test变量的作用是什么?if(test==1){scroll = new JScrollPane(resultPanel);split = new JPanel(new BorderLayout());split.add(p3,BorderLayout.NORTH);split.add(scroll,BorderLayout.CENTER);this.add(split,BorderLayout.CENTER);test++;}p3_1 = new JPanel[recordCount];tf3_1 = new JTextField[recordCount];tf4_1 = new JTextField[recordCount];tf5_1 = new JTextField[recordCount];tf6_1 = new JTextField[recordCount];tf7_1 = new JTextField[recordCount];rs.beforeFirst();//问题4:该条语句可不可以用rs.first()代替?为什么?int i = 0;while(rs.next()){tf3_1[i] = new JTextField(rs.getString(1));tf4_1[i] = new JTextField(rs.getString(2));tf5_1[i] = new JTextField(rs.getString(3));tf6_1[i] = new JTextField((rs.getString(4).equals("M"))?"男":"女");tf7_1[i] = new JTextField(rs.getString(5));tf3_1[i].setHorizontalAlignment(JTextField.CENTER);tf4_1[i].setHorizontalAlignment(JTextField.CENTER);tf5_1[i].setHorizontalAlignment(JTextField.CENTER);tf6_1[i].setHorizontalAlignment(JTextField.CENTER);tf7_1[i].setHorizontalAlignment(JTextField.CENTER);tf3_1[i].setEditable(false);tf4_1[i].setEditable(false);tf5_1[i].setEditable(false);tf6_1[i].setEditable(false);tf7_1[i].setEditable(false);//完成语句⑼:为文本框们添加监听器p3_1[i] = new JPanel (new GridLayout(1,5));p3_1[i].add(tf3_1[i]);p3_1[i].add(tf4_1[i]);p3_1[i].add(tf5_1[i]);p3_1[i].add(tf6_1[i]);p3_1[i].add(tf7_1[i]);resultPanel.add(p3_1[i]);i++;resultPanel.repaint();//问题5:该条语句可不可以取消?为什么?this.validate();//问题6:该条语句可不可以取消?为什么?} catch (SQLException e1) {e1.printStackTrace();}finally{//完成语句⑽:关闭数据库操作时占用的各种资源}public void focusGained(FocusEvent e) {//完成语句⑾:当文本框获得焦点时,文本框为红色}public void focusLost(FocusEvent e) {//完成语句⑿:当文本框失去焦点时,文本框为白色}}④AddFrame.javapackage sms;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.SQLException;import java.sql.Statement;import javax.swing.Box;import javax.swing.ButtonGroup;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JRadioButton;import javax.swing.JTextField;public class AddFrame extends JFrame implements ActionListener{private Connection conn;private Statement stmt;JLabel lbl1 = null;JLabel lbl2 = null;JLabel lbl3 = null;JLabel lbl4 = null;JLabel lbl5 = null;JTextField tf1 = null;JTextField tf2 = null;JTextField tf4 = null;JTextField tf5 = null;JRadioButton man = null;JRadioButton woman = null;ButtonGroup sex = null;JButton addBtn = null;JPanel p1 = null;Box baseBox,boxV1,boxV2,boxH1;public AddFrame(){super("添加学生信息");//定义组件:从上到下,从左到右lbl1 = new JLabel("学号:");lbl2 = new JLabel("姓名:");lbl3 = new JLabel("性别:");lbl4 = new JLabel("年龄:");lbl5 = new JLabel("专业:");tf1 = new JTextField(20);tf2 = new JTextField(20);tf4 = new JTextField(20);tf5 = new JTextField(20);man = new JRadioButton("男",true);woman = new JRadioButton("女");sex = new ButtonGroup();sex.add(man);sex.add(woman);addBtn=new JButton("添加");addBtn.addActionListener(this);boxV1 = Box.createVerticalBox();boxV1.add(lbl1);boxV1.add(Box.createVerticalStrut(8));boxV1.add(lbl2);boxV1.add(Box.createVerticalStrut(8));boxV1.add(lbl3);boxV1.add(Box.createVerticalStrut(8));boxV1.add(lbl4);boxV1.add(Box.createVerticalStrut(8));boxV1.add(lbl5);boxH1 = Box.createHorizontalBox();boxH1.add(man);boxH1.add(Box.createHorizontalStrut(10));boxH1.add(woman);boxV2 = Box.createVerticalBox();boxV2.add(tf1);boxV2.add(Box.createVerticalStrut(8));boxV2.add(tf2);boxV2.add(Box.createVerticalStrut(8));boxV2.add(boxH1);boxV2.add(Box.createVerticalStrut(8));boxV2.add(tf4);boxV2.add(Box.createVerticalStrut(8));boxV2.add(tf5);baseBox = Box.createHorizontalBox();baseBox.add(boxV1);baseBox.add(Box.createHorizontalStrut(10));baseBox.add(boxV2);p1 = new JPanel (new FlowLayout());p1.add(baseBox);p1.add(addBtn);this.add(p1);this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);setSize(300,250);Toolkit tool = this.getToolkit();Dimension dim = tool.getScreenSize();this.setLocation(dim.width/3+50,dim.height/3+50);setVisible(true);validate();}public void actionPerformed(ActionEvent e) {//完成语句⒀:获取数据库连接try {String txt1,txt2,txt3,txt4,txt5,sql;txt1=tf1.getText().trim();txt2=tf2.getText().trim();if(man.isSelected())txt3="M";else txt3="F";txt4=tf4.getText().trim();txt5=tf5.getText().trim();sql = "insert into stu(sno,sname,age,sex,major) values (";if (txt1.length()<=10 && Util.isNotEmpty(txt1) && Util.isDigits(txt1)){sql = sql + "'"+txt1+"','";if (txt2.length()<=10 && Util.isNotEmpty(txt2)){sql = sql + txt2+"',";if (txt4.length()<=2 && Util.isNotEmpty(txt4) && Util.isDigits(txt4)){sql = sql + Integer.parseInt(txt4)+",'";sql = sql + txt3+"','";if(txt5.length()<=25 && Util.isNotEmpty(txt5))sql = sql + txt5+"'";else{JOptionPane.showMessageDialog(this, "专业输入有误:0<长度<=25!");return ;}}else{//完成语句⒁:弹出消息对话框,内容是:年龄输入有误:0<长度<=2且是数字字符!return ;}}else {JOptionPane.showMessageDialog(this, "姓名输入有误:0<长度<=10!");return ;}}else {JOptionPane.showMessageDialog(this, "学号输入有误:0<长度<=10且是数字字符!");return ;}sql = sql + ")";int cnt = 0;//完成语句⒂:创建提交sql语句的对象,并将sql语句的执行结果赋给整型变量cnt。
java 课程设计任务书一、课程目标知识目标:1. 掌握Java基本语法和编程结构,理解面向对象编程的基本概念;2. 学习使用Java进行简单程序设计,包括变量声明、数据类型、运算符、流程控制语句等;3. 了解Java异常处理机制,掌握基本的异常处理方法;4. 理解类的定义和对象创建,掌握封装、继承和多态等面向对象的基本特性。
技能目标:1. 能够独立编写简单的Java程序,具备基本的编程能力;2. 能够运用所学知识解决实际问题,进行基础算法的实现;3. 学会使用调试工具进行程序调试,提高解决问题的能力;4. 培养良好的编程习惯,编写结构清晰、可读性强的代码。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发学习热情,树立自信心;2. 培养学生的团队协作精神,学会与他人共同解决问题;3. 培养学生严谨、踏实的学术态度,注重细节,追求卓越;4. 培养学生具备创新意识和探索精神,敢于尝试新方法,勇于克服困难。
课程性质:本课程为Java编程入门课程,旨在让学生掌握Java基本语法和编程技巧,培养面向对象的编程思维。
学生特点:学生处于初中或高中年级,具备一定的逻辑思维能力,对计算机编程感兴趣,但可能缺乏实际编程经验。
教学要求:结合学生特点,注重理论与实践相结合,通过实例教学,让学生在实践中掌握知识,提高编程能力。
同时,关注学生的情感态度,激发学习兴趣,培养良好的编程习惯。
在教学过程中,将目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. Java概述与开发环境搭建- 了解Java发展史、特点与应用领域- 学习Java开发环境搭建,熟悉集成开发工具2. Java基本语法- 变量声明、数据类型与运算符- 流程控制语句(条件语句、循环语句)- 数组的使用3. 面向对象基础- 类的定义、构造方法与实例化- 封装、继承与多态- 抽象类与接口4. Java常用类库与工具- String类与字符串操作- 异常处理机制- 集合框架简介5. 简单的Java程序设计- 编写控制台输入输出程序- 实现基础算法(排序、查找等)- 文件读写操作6. 综合案例分析与实践- 案例分析:经典算法实现、小型项目开发- 实践项目:学生信息管理系统、简易计算器等教学内容安排与进度:第1周:Java概述与开发环境搭建第2-3周:Java基本语法第4-5周:面向对象基础第6周:Java常用类库与工具第7周:简单的Java程序设计第8周:综合案例分析与实践教材章节关联:《Java编程思想》第1-3章:Java概述、基本语法、流程控制《Java编程思想》第4-7章:面向对象基础、封装、继承与多态《Java核心技术》第1部分:Java基本语法、面向对象、异常处理等《Java核心技术》第2部分:Java常用类库、文件读写、集合框架等三、教学方法1. 讲授法:- 对于Java基本语法、面向对象基础等理论性较强的内容,采用讲授法进行教学,由教师系统地讲解知识点,帮助学生构建知识体系。
《Java程序设计》课程设计任务书《Java程序设计》课程设计任务书刘国清一、设计目的Java课程设计是计算机科学与技术专业学生必做的集中实践性环节之一,是学习完《Java程序设计》课程后进行的一次全面的综合练习。
其目的在于通过课程设计,使学生能够得到较系统的技能训练,从而巩固和加深对Java 编程的基础理论知识的理解,培养学生综合运用所学理论解决实际问题的能力,使学生成为具有扎实的计算机理论基础和较强的独立动手能力的复合型、应用型人才。
二、设计要求1、必须独立完成设计任务,严禁抄袭或找人代做等行为,一经发现成绩以不及格记。
2、课程设计期间要严格遵守学习纪律,遵守作息时间,不得迟到、早退和旷课,课程设计期间缺勤1/3及以上者,成绩以不及格记。
3、课程设计报告可以采用以下两种方式:①使用学院统一印制的《课程设计报告专用纸》,采用黑色墨水工整书写,自己的源程序打印在课程设计报告专用纸一样大小的打印纸上,并配上封面(格式附后)装订成册;②全部内容打印在A4打印纸上,并配上封面装订成册。
4、课程设计完毕应提交如下设计成果:课题名称_姓名1_姓名2_姓名3.rar(里面包含说明如何运行系统以及在本系统中自己做何工作的readme.txt+可以直接执行的jar文件(若为applet程序则无需打成jar包,内含系统全部源代码)+数据库文件或导出的sql文件+系统运行需要的其他文件,每个题目即每组交一个rar文件);文字描述不少于3500字(源代码不包含在内)的纸质课程设计报告(要求正文内容格式为宋体小四,1.5倍行距,小标题为黑体四号,课程设计报告交纸质文档,每个人一份课程设计报告,要求报告格式规范,结构完整,报告内容不能雷同,雷同者将发回重写)。
5、题目来自《Java课程设计案例精编(第二版)》的,必须在原来基础上增加1-2个功能(由自己决定)。
三、课程设计报告格式课程设计报告分以下几部分:1、封面2、目录3、系统描述:介绍所开发系统的功能和解决的问题;4、分析与设计:主要包括以下内容:功能模块划分;数据库结构描述(题目设计数据库的需要);系统详细设计文档(类的划分及相互关系,系统或模块的流程图)各个模块的实现方法描述(关键代码);测试数据及期望结果;5、系统测试:系统关键功能的运行截图,凡课题与数据库相关的表中记录不得少于5条。
课程设计任务书
课程名称:Java与面向对象程序设计
设计题目:聊天软件简易版
已知技术参数和设计要求:
1. 问题描述(功能要求):
a. 服务器首先启动,使用ServerSocket监听指定的端口,等待客户端连接
b. 客户端使用Socket对网络上某一个指定IP的服务器上的端口发出连接请求;
登录信息验证正确并连接成功后,可以开始聊天;
c. 客户端开始聊天后,保持聊天内容的同步;
2.界面要求:
用户界面设计不做统一规定,但应做到界面友好,易于操作。
3. 技术要求:
要求利用面向对象的方法以及java的编程思想来完成系统的设计;在设计的过程中,建立清晰的类结构;在系统设计中要分析和定义各个类,每个类中要有各自的属性和方法;要求运用面向对象的机制来实现系统功能。
4. 课程设计报告要求
详见《长沙学院课程设计管理规定》。
设计工作量:
40课时
工作计划:
40课时:上机、调试。
计算机系机房
指导教师签名:日期:
教研室主任签名:日期:
系主任签名:日期:。
《Java语言程序设计实训》课程设计任务书一、课程设计的目的《Java语言程序设计实训》课程设计是计算机科学与技术专业及相关专业的集中实践性环节之一,是学习完《Java语言程序设计》后进行的一次全面的综合练习,其目的在于加深对面向过程程序设计的理解,提高解决实际问题的能力,为后续课程、毕业设计以及今后从事设计工作打下良好的基础。
二、课程设计内容及要求用JA V A语言环境制作一个学生管理系统。
包括添加、删除、查询等功能。
要求学生根据题目的基本要求,设计结构良好的界面并完成课程设计说明书。
1.课程设计任务设计一个学生信息管理系统,主要功能包括学生信息的输入、显示、删除、查询、统计等。
具体要求如下:(1)学生信息的格式:学号6位字符姓名8位字符计算机实数高等数学实数英语实数(2)学生信息文件student.txt的格式:每行一位学生,学生的3项数据之间用一个制表符分隔,例如:100001 zhang 88.0 75.0 93.0100002 wang 76.0 85.0 58.0(3)主菜单:学生信息管理系统主菜单== == == == == == == == == == == == == == == == ==1:添加学生记录2:显示学生记录3:删除学生记录4:查询学生记录5:统计学生记录0:退出系统请选择其中各选项的功能:添加学生记录:输入并保存学生信息显示学生记录:出现“显示学生信息子菜单”,供操作者选择删除学生记录:显示现有的学生信息,让操作者输入要删除学生的学号,将其删除后再次显示其余的学生信息查询学生记录:出现“查询学生信息子菜单”,供操作者选择统计学生记录:统计并显示优、良、中、及格、不及格的人数与比例,以及总人数、及格率、最高分、最低分、平均分。
(4)显示学生信息子菜单:显示学生信息子菜单== == == == == == == == == == == == == == == == ==1:按学号序显示2:按姓名序显示3:按成绩序显示0:退出显示请选择:其中各选项的功能:按学号序显示:按学号字典序显示所有学生信息按姓名序显示:按姓名字典序显示所有学生信息按成绩序显示:按成绩高分到低分显示所有学生信息(5)查询学生信息子菜单:查询学生信息子菜单== == == == == == == == == == == == == == == == ==1:按学号序显示2:按姓名序显示3:按成绩序显示0:退出显示请按姓名序显示选择:其中各选项的功能:按学号查询:按键盘输入的学号查找并显示学生信息按姓名查询:按键盘输入的姓名查找并显示学生信息按成绩查询:按键盘输入的分数范围查找并显示学生信息2.基本要求(1)完成问题陈述中提到的所有需求功能。
Java实践课程设计
任务书
一、课程设计目的
通过网上选课系统的设计与实现,掌握所学Java课程的相关知识和技术,包括:(1)合理定义接口、类,以及软件的结构
(2)正确使用面向对象编程语言进行编程
(3)掌握图形用户界面应用软件的开发方法
(4)掌握网络编程方法
(5)掌握多线程的应用编程
(6)熟练操作数据库
(7)熟练使用开发工具
二、课程设计内容
(一)设计题目
网上选课系统
(二)主要功能
管理员通过系统管理界面进入,建立本学期要开的各种课程,将课程信息保存在数据库中并可以对课程进行改动和删除。
教师通过客户机浏览器根据教师号和密码进入教师操作界面,可以进行如下操作:查看所授课程的学生的学习信息、录入考勤记录、成绩。
操作结果会存入到数据库中。
学生通过客户机浏览器根据学号和密码进入选课界面,可以进行如下操作:查询已选课程、选课以及付费(模拟显示)。
操作结果会存入到数据库中。
三、课程设计要求
1、根据设计题目写出用户基本需求(即需求分析)。
2、根据需求对系统进行分析与设计,并画出系统的结构图。
3、如果系统设计中存在关键算法,需对关键算法进行设计,找出可行性算法,并画出算法流程图。
4、程序实现系统的功能。
四、课程设计报告提交
装订应在报告的左侧垂直方向,不要在报告顶部水平装订。
书面报告、电子版报告和程序等文件请通过学习委员交给指导老师
课程设计报告Word文件命名格式:学号后两位+姓名+课程设计题目名.doc,程序或者其他文件压缩命名格式:学号后两位+姓名+课程设计程序.rar。
《Java程序设计》实训任务书一一、课题名称:选择语句的使用二、设计目的1、通过理论知识与实际需求相结合,编程解决一些日常中实际的问题,培养初步的独立分析和设计能力。
2、了解应用程序设计解决实际问题的具体过程和实现方法,掌握应用Java 语言进行程序设计的基本规范;3、初步掌握系统开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。
4、重点掌握Java语言的程序编写、算法设计和程序调试方法;5、掌握本实训中所重点涉及的选择结构相关知识,熟练使用if嵌套语句和switch语句。
三、设计任务分别使用if嵌套语句和switch多分支选择语句实现:通过键盘输入一个学生的一门课成绩等级,判断其所在的分数段。
即等级用A、B、C、D、E等表示,A代表的分数段为90分以上,B代表的分数段为80~89,C代表的分数段为70~79,D代表的分数段为60~69,E代表不及格,其它字符表示输入错误。
四、设计要求1、分析程序(建模);2、画出程序流程图;3、界面友好(良好的人机互交);4、完成设计说明书(A4)。
五、运行环境1、Windows XP系统2、JDK 6.0(Java开发工具包)、Netbeans IDE 1.7.2(Netbeans集成开发环境)《Java程序设计》实训任务书二一、课题名称:打印输出特殊的图形二、设计目的1、通过理论知识与实际需求相结合,编程解决一些日常中实际的问题,培养初步的独立分析和设计能力。
2、了解应用程序设计解决实际问题的具体过程和实现方法,掌握应用Java 语言进行程序设计的基本规范;3、初步掌握系统开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。
4、重点掌握Java语言的程序编写、算法设计和程序调试方法;5、掌握本实训中所重点涉及的循环结构相关知识,找出图形中元素的排列规律,熟练使用循环嵌套语句。
三、设计任务编写程序,分别打印出如下两个所示的图形。
四、设计要求1、分析程序(建模);2、界面友好(良好的人机互交);3、完成设计说明书(A4)。
Java语言课程设计任务书及题目一、Java语言课程设计目的和要求1、目的:Java语言程序设计课程是一门实践性很强的课程。
JAVA课程设计以软件工程的思想为导向,从可行性研究开始,经过系统分析、系统设计、系统实施等主要阶段的过程,通过课程设计可以培养学生综合运用理论知识,解决工程实际问题,受到系统软件设计的初步训练。
是巩固学生所学理论知识、培养学生动手能力并使理论与实际相结合的重要实践环节。
提高和训练学生面向对象的编程能力。
本课程设计的目的是通过学生用Java语言设计一个完整的应用程序,使学生综合应用所学知识完成软件的分析、设计、调试和总结,可加深和巩固对理论教学和实验教学内容的掌握,使学生进一步掌握所学的面向对象技术完整系统开发的方法。
培养其灵活运用所掌握的Java 语言的综合应用能力解决实际工程问题的能力、项目开发中团队合作精神、创新意识,养成良好的编程习惯。
2、要求:本次课程设计是对前面学过的所有面向对象的编程思想以及编程方法的一个总结、回顾和实践,因此,开始设计前学生一定要先回顾以前所学的内容,明确本次作业设计所要用到的技术点并到网上搜索以及查阅相关的书籍来搜集资料。
通过编写一个基于JAVA的应用系统综合实例,来掌握Java语言编程技巧。
1)对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理;2)系统设计要实用,编程简练,可用,功能全面3)说明书、流程图要清楚4)记录设计情况(备查,也为编写设计说明书作好准备);5)要求采用模块化程序设计方法,及锯齿型书写格式,要求上机调试通过和按设计报告格式。
(界面要求:尽量使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。
如果无法实现图形界面,则在命令行方式下也需要提供菜单,方便用户操作。
代码要求:标识符命名遵循java命名规范。
能够考虑各种异常处理,注重提高程序运行效率。
)6)设计上交内容:设计报告一份(按格式书写);源程序文件。
3、课程设计步骤1)分析项目要求: 每个课程设计项目都有其相关的设计要求,其中对项目实现的功能做了详细定义。
如果某些知识面掌握的不是很好,可以再返回去重新熟悉与掌握。
2)自学新知识:每个课程设计项目都涉及一些新的知识面(老师没有在课堂上讲解的内容),在开始设计前,首先要查阅相关资料,学习和掌握项目中涉及的新知识,提高自学能力。
3)界面设计:本次课程设计都是图形界面程序,所以在实现程序功能前,可以先完成图形界面设计(建议采用swing组件或第三方swt组件)。
在部分项目运行效果示例中,抓取了运行结果界面。
项目图形界面所涉及了容器、组件、布局知识,在设计图形界面前,可以再回顾下以上知识(建议采用较智能的开发工具如:Netbean、eclipse、Jbuilder等)。
4)项目功能实现:每种功能其实就是相应控件的响应事件,所以要根据课程设计要求把各种功能转换成相应组件的响应事件。
如动作事件(ActionEvent)、键盘事件(KeyEvent)、鼠标事件(MouseEvent)、焦点事件(FocusEvent)。
对于比较复杂的功能,先要设计该功能实现的算法和程序流程图,然后再用程序语句去实现。
5)项目测试与扩展:项目程序设计完以后,运行该项目,一一测试所有项目功能,如有不合要求的话,重新修改程序以达到项目要求。
如有时间的话,可以在项目要求的基础上扩展创新一些功能,根据其创新情况可以给予适当的加分。
二、Java语言课程设计选题如下:1、课题:算术运算测试功能要求:该程序用字符界面实现十道100以内加减法数学题,能根据题目计算出答案,与输入答案对比,判断做题是否正确,最后计算分数。
界面要求:用字符界面实现、也可用图形界面实现。
2、课题:猜数游戏功能要求:计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出所用时间和评语。
界面要示:用字符界面实现、也可用图形界面实现。
3、学生成绩管理功能要求:1)输入十个同学的学号,姓名,四科成绩(应用数学、大学英语、Java程序设计、计算机应用基础)2)计算出平均成绩。
以平均成绩降序输出成绩表。
3)输出全组各科平均分,最高分和最低分。
4)输入姓名查询成绩界面要示:用字符界面实现、也可用图形界面实现。
4、计算器模拟程序功能要求:该程序显示GUI用户界面,能实现整数的加、减、乘、除四则运算。
界面要示:用图形界面实现。
可参考下图。
图1 计算器模拟程序界面5、画随机的圆功能要求:实现简单的动画。
具体要求:自动出现由小到大变换的圆,位置与颜色随机,变到150直径时擦除,重新再出现圆;变换速度有HTML文件传入的参数控制(控制sleep时间)。
界面要求:用Java Applet实现。
6、用菜单和按钮来控制绘图功能要求:实现简单绘图功能,具体要求:画直线,画空心或实心椭圆、画空心或实心矩形、画多边形(图形的位置和大小可在程序中设定)。
界面要求:用图形界面实现。
可参考图2、图3和图4。
图2 初始界面图3 使用菜单绘图图5 使用按钮绘图三、设计时间一周,具体安排如下:第一阶段:1.班级分组,选定课题,查阅相关资料 1天2.划分模块、小组成员分工,编制源程序 3天第二阶段:上机调试,修改、完善系统 2天第三阶段:撰写、上交课程设计说明书(1份/人),上交课程设计作品源程序(每课题组一份),作品答辩。
1天四、设计方式和安排1.分组选题:最多3人为一组(尽量一人一题),每组一个课题(可根据课题工作量大小,合理分配人数),每组设组长一名,负责该组设计工作的协调、分工等。
2.设计过程:1)分析设计准备阶段(按组讨论、对系统功能进行分析,确定算法,并进行明确分工);2) 编程调试阶段(绘制流程图,编制源程序;上机调试,修改程序)3) 总结报告和书写说明书阶段(撰写上交相关资料)。
五、考核内容和方式1、在设计期间,学生要按时上机,设计结束根据记录的设计材料整理成设计说明书。
设计说明书中应写下设计中的主要收获,要求对问题有一定的分析,文字简短明确流畅。
2、通过设计答辩方式,并结合学生的动手能力,独立分析解决问题的能力和创新精神,设计成绩由指导教师根据考勤、设计说明书质量、答辩表现以及学习态度按五级分制综合评定。
成绩分优、良、中、及格和不及格五等。
其他参考题目:1、编写一个记事本程序要求:用图形用户界面实现。
能实现编辑、保存、另存为、查找替换等功能。
提示:使用文件输入输出流。
2、模拟龟兔赛跑要求:用图形用户界面实现。
能设置比赛时间,马匹的数量等等。
在任意时间段内马匹的速度是随机的。
开始比赛之后以动画显示赛马过程。
提示:使用多线程3、学生信息管理系统要求:使用图形用户界面用数据库建立1或2个学生信息表。
(不限使用哪种数据库)能连接数据库并实现查询、增、删、改等功能。
4、图书信息管理系统要求:使用图形用户界面用数据库建立1或2个图书信息表。
(不限使用哪种数据库)能连接数据库并实现查询、增、删、改等功能。
5、聊天小程序要求:使用图形用户界面。
能实现一个聊天室中多人聊天。
可以两人私聊。
提示:使用socket通信6、ATM柜员机模拟程序要求:使用图形用户界面。
当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:1、查询余额:初始余额为10000元2、ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。
3、ATM存款:不能出现负存款。
4、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。
7、超市收银系统要求:使用图形用户界面。
由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等。
从数据库中取出有关价格信息,再把这些信息返回给收银台。
同时把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费情况交数据库存储以供查询。
另外,对没有卡的消费情况不记录该顾客的消费情况等个人信息。
如果一个未持卡顾客一次购物满200元,可为其发放一张会员卡,以后在该商场购物可向9折优惠。
8、万年历要求:使用图形用户界面。
实现日期与星期的查询9、网络监听程序要求:使用图形用户界面。
有服务器和客户端,服务器监听客户端的登陆。
即:如果A客户端登陆服务器,则服务器界面上的A字母对应的红灯变成绿色。
绿灯表示连接,红灯表示断线。
提示:socket的监听方法10、全球通计费程序要求:使用图形用户界面。
使用真实的全球通资费标准,模拟统计一个特定号码的一个月的实时话费。
能根据输入实现各种用户的话费的计算并显示月实时帐单。
提示:使用接口和多个子类实现分别表示金卡、银卡等各种套餐的话费计算。
11.日历记事本要求:带有日程提醒功能的日历。
1、显示信息:用户可以向前翻页查询前一个月的日期,也可以向后翻页查询下一个月的日期。
2、定时提醒:用户可以针对某一天来添加,删除和编辑这一天的日程提醒信息,当系统时间和提醒时间相吻合时,给出具有提示信息的对话框。
3、查询信息:用户可以查询到某个月的所有的提示信息。
12.电子英汉词典要求:能够编辑词典库中的信息能够实现英译汉,汉译英。
(要考虑一词多义)13.加密与解密要求:采用图形用户界面1、给定任意一个文本文件,进行加密,生成另一个文件。
2、对加密后的文件还原。
14.小游戏要求:。
程序随机产生20—50根火柴,由人与计算机轮流拿,每次拿的数量不超过3根,拿到最后一根为胜。
(使用图形界面)15.敏感词汇分析要求:任意选择一个文本文件,分析该文件,如果存在敏感词汇(这些词汇保存在sentive.txt文件中,每个词占一行),报告每个词出现的次数。
16、猜数字游戏要求:计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出所用时间和评语。
要求提交Application和Applet两个版本的程序。
17、小学算术运算测试程序要求:制作一个可供小学数学运算程序:10以内加减法,能根据输入题数出题,判断做题是否正确,最后计算分数。
要求提交Application和Applet两个版本的程序。
18、模拟科学计算器要求:界面模拟Windows中的计算器程序。
实现基本数学运算、函数等功能:加、减、乘、除、阶乘、正弦、余弦和指数运算。
实现要点:添加相关组件并进行按钮事件处理。
要求提交Application和Applet两个版本的程序。
19、模拟画图要求:模拟Windows中的画图程序,实现图形图像的编辑、修改、保存等功能。
20、模拟时钟要求:通过多线程技术,重绘界面,界面包括表盘和指针。
并用数字表显示时间。
实现要点:多线程技术,图形的绘制。