《JAVA程序设计》大作业题目与要求
Java语言程序设计课程设计任务书及选题

《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程序设计》大作业

1、查询余额:初始余额为10000元
2、ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。
3、ATM存款:不能出现负存款。
4、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。
6、万年历
要求:
使用图形用户界面。
实现日期与星期的查询
7、计算器
要求:
使用图形用户界面。
实现常用的计算功能。
8、日历记事本
要求:带有日程提醒功能的日历。
1、显示信息:用户可以向前翻页查询前一个月的日期,也可以向后翻页查询下一个月的日期。
2、定时提醒:用户可以针对某一天来添加,删除和编辑这一天的日程提醒信息,当系统时间和提醒时间相吻合时,给出具有提示信息的对话框。
《Java程序设计》大作业
要求:
最后提交打印的大作业报告,报告内容格式如下:
封面(包括姓名,学号,班级,专业,院系)
题目(把你选择的题目写在这里)
程序(程序的源代码)
运行结果(运行的结果,贴图的形式)
总结
大作业题目:
1、编写一个记事本程序
要求:
用图形用户界面实现。
能实现编辑、保存、另存为、查找替换等功能。
12、.敏感词汇分析
要求:
任意选择一个文本文件,分析该文件,如果存在敏感词汇(这些词汇保存在sentive.txt文件中,每个词占一行),报告每个词出现的次数。
3、查询信息:用户可以查询到某个月的所有的提示信息。
java程序设计大作业

Java程序设计大作业可能涉及多个方面,具体取决于你的课程要求和教师的要求。
以下是一个可能的Java程序设计大作业的示例:题目:设计并实现一个简单的计算器应用程序。
要求:1. 使用Java编写一个命令行应用程序,能够执行基本的数学运算(加、减、乘、除)。
2. 用户应该能够输入两个数字和一个运算符,程序将根据运算符执行相应的运算并输出结果。
3. 程序应该能够处理不同类型的数字(整数和浮点数)和运算符。
4. 程序应该能够处理输入错误,例如用户输入了无效的运算符或非数字字符。
示例代码:```javaimport java.util.Scanner;public class Calculator {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入第一个数字:");double num1 = scanner.nextDouble();System.out.print("请输入运算符(+、-、*、/):"); String operator = scanner.next();System.out.print("请输入第二个数字:");double num2 = scanner.nextDouble();double result = 0;switch (operator) {case "+":result = num1 + num2;break;case "-":result = num1 - num2;break;case "*":result = num1 * num2;break;case "/":if (num2 == 0) {System.out.println("除数不能为0!");return;} else {result = num1 / num2;}break;default:System.out.println("无效的运算符!");return;}System.out.println(num1 + " " + operator + " " + num2 + " = " + result);}}```在这个示例代码中,我们使用了`Scanner`类从用户那里获取输入。
JAVA程序设计大作业报告

过程:
1、课程设计目的 2、课程设计题目描述与要求 3、课程设计报考内容 4、输出结果 5、实验总结
1、课程设计目的
用面向对象语言JAVA完成计算 器的设计和实施。通过课程设计掌 握面向对象编程技术,常用库类的 使用和应用系统的开发过程。
2、课程设计题目描述与要求
(1)完成窗口的关闭 按钮的功能; (2)完成清空键 功能;(即清空文本框中的内容) (3)完成数字按钮的功能;(即文本框显示对应数字) (4)完成基本的“+”,“-”,“*”,“/”四则运算;
3、课程设计报告内容
3.1 课程设计思路 设计的程序能完成计算器的基本功能 例如四则运算 3.2 设计过程 本次设计一个简易的计算器的界面,该计算器运行 程序后的界面如下图所示 该计算机包括了加减乘除四则运算 操作建议
3.3实验源代码
在设计这个程序的开始,我们首先设计这个计算器的 界面,我用比较简单的方法,运用GridLayout(4,5)来实 现简单的排版。然后把我需要的几个按键都依次的输入s("CE"))
{
display.setText("0"); start=true; flag=true; command="=";
} else if(start&&flag) { if(command.equals("-")) { display.setText(command); start=false; } else if((command.equals("1/x")||command.equals("sqrt"))&&flag) calculate(Double.parseDouble(display.getText()),command); else if(flag) lastCommand=command; } else { if(command.equals("Backspace")&&flag) { String s=display.getText(); char[] s1=s.toCharArray(); if(s.length()>=2) { String s2=new String(s1,0,s.length()-1); display.setText(s2); } else { display.setText("0"); start=true; } } else if(flag) { calculate(Double.parseDouble(display.getText()),command); lastCommand=command; start=true; } } } }
Java程序设计大作业

Java程序设计大作业
提交作业内容:
1. UML的静态结构图
2. 程序主要流程图
3. 程序代码
4. 程序说明文档
5. 实验总结:总结本次程序调试过程中遇到了哪些问题,如何解决的;通过本次大作业有何收获?存在哪些不足需要改进的地方。
1.计算器模拟程序
功能要求:Windows2000/xp系统中的“计算器”是一个方便实用的计算工具,但没有提供显示计算过程和保持计算过程的功能。
本题所遵循的计算规则与Windows2000/xp系统中的“计算器”相同,除了具有普通的计算功能外,还具有显示计算过程、保存计算过程之功能。
要求保存计算过程和结果到文件的同时,也可把当前时间保存到该文件。
可参考下图。
2. 标准化考试系统
功能要求:设计B/S模式的标准化考试系统。
具体要求如下:
(1)登录功能。
包括输入学号、姓名以及服务器的IP地址。
(2)选择试卷功能
(3)答卷和提交试卷功能
(4)可以查询分数。
JAVA大作业题目

JAVA大作业题目大作业要求:(1)最后提大作业报告电子版,报告内容格式见“JA V A程序设计(大作业)报告格式”要求。
(2)每个学生可任意选择下述十三个题目之一作为大作业,一人一组,独立完成。
大作业题目:1、基于java 的记事本要求:(1)设计一个登录界面,如果密码正确,则进入主界面(文件编辑器),如果不正确,则给出消息框,提示正确的密码(2)主界面JFrame的监听器接口至少用到2个(3)主界面JFrame的窗体要美观,利用Java能够把文本、图像、声音集成在一起。
2、Java版即时聊天程序功能要求:(1)用户登录及登录验证:用户能够使用固定帐号(帐号程序内置即可,无需完成额外的注册功能)登录系统,系统能对预定的帐号、密码进行验证。
(2)聊天功能:能够在两台以上的机器上登录运行程序,能使用不同帐号完成在线的即时消息发送(聊天)。
(3)好友管理:能够显示好友列表,并能够添加、修改、删除好友。
(4)在线、离线状态显示:能够显示好友的在线状态或离线状态。
(5)聊天记录管理:能够以文件或数据库形式将聊天记录进行存储,并能打开、显示、删除所存储的聊天记录。
3、【swing类GUI编程】编写交通信号灯的程序要求:(1)设计信号灯组件,该组件提供信号的红,绿,黄三种信号显示输出. (2)另外,在javax.swing.Timer的定时控制下, 轮流输出三种信号. (3)在窗口中应该有启动按钮,停止按钮. 并且有时间设置功能.设置三种状态的显示时间.(4)可供参考的类有:java.awt包中CanvasButtonTextFieldFrame(5)实现支持信号灯的点击事件, 例如,用鼠标点击红灯, 那么红灯立刻亮,然后再进入到定时三种信号的转换输出.4、JA V A简易时间日历程序通过编写一个基于JA V A的应用系统综合实例,自定义一个日历组件显示日期和时间并进行适当的功能扩充,实践Java语言编程技术。
Java语言程序设计课程设计题目及要求(软件101-2)

Java语言程序设计课程设计题目及要求(软件101-2)Java语言程序设计课程设计要求及题目学期:2014-2015-01 专业:网络13级课程设计选题要求:1、每个学生从下面16个题目中选择3个题目来进行课程设计,3个题目的选择遵循下面的原则:第一个题目从1-6号题目中选,第二个题目从7-12号题目中选,第三个题目从13-20号题目(使用文件)中选。
2、选好题目后,每个学生根据题目的内容填写任务书(课程设计说明书中),其中“已知技术参数和设计要求”项,直接将题目中“要求”部分复制过去。
注意:一个题目对应一份任务书!3、请认真阅读课程设计指导书(附件1),提前做好课程设计准备。
1复数类要求:1)该系统主要处理复数的相关信息。
2)完成以下的操作:初始化复数、求其绝对值、复数的加、减、乘、除、乘方、自加、自减等。
提示:1)建立数据类、复数类2)数据、复数信息的初始化3)复数信息的输出4)求复数的绝对值5)实现复数的加、减、乘、除、乘方、自加、自减等运算2字符串类要求:1)该系统主要处理字符串的相关信息。
2)完成以下的操作:初始化字符串、获得字符串长度、在字符串中查找一个字符、在字符串中查找另一个字符串、字符串连接、字符串比较等。
提示:1)建立字符串类2)字符串信息的初始化3)字符串信息的输出4)获得字符串长度5)在字符串中查找一个字符6)在字符串中查找另外一个字符串7)比较字符串3日期类要求:1)该系统主要处理时间的相关信息。
2)完成以下的操作:日期的设置、显示、实现在某一个日期上(月、日、年)加减一个天数的功能、计算两个日期间隔天数提示:1)建立日期类2)日期类的初始化3)按某个固定格式(如:yyyy-MM-dd)一次性的设置某个日期对象4)以固定格式显示某个日期5)在日期上加一天6)在日期上减一天7)输入两个日期,然后输出日期的间隔天数4进制转换要求:从键盘输入一个十六进制数,将其转化为十进制输出。
Java程序设计大作业

Java程序设计 程序设计 大作业
姜大志
汕头大学计算机系
作业1
计算机系
• 内容:关于均值2/3猜想的探究,用程序实现
(要求所有参与者在不知道其他人选择的情况下,每人 给出一个0到100之间的数字,所给出的数字最接近 平均值2/3的那个人将会是获胜者)
• 目的:
– 面向对象方法应用 – 区分面向对象和面向过程的编程的差异 – 认识算法(模型)与程序的重要性
2012-3-22 13
游戏
计算机系
• 游戏种类不限,如:
– 围猫游戏 – “俄罗斯”方块游戏 – 贪吃蛇 – 五子棋 – ……
2012-3-22
14
要求
计算机系
• 可运行
• 良好的面向对象设计 • 良好的代码风格
• AWT、Swing • 多线程 • ……
2012-3-22
15
提交时间与注意事项
计算机系
• 作业提交
– 分组:1-2人/组
• 提交格式:项目报告及源代码 • 提交方式:打包提交到mystu • 中期检查时间:十二周的星期六,可只提交
报告。 • 结束时间:十四周的星期六
2012-3-22
16
作业命名规范
计算机系
• 第X次作业-姓名(多人则填组长)-学号。 • 举例:第一次作业-张三-888888.doc
模型的构建2
计算机系
• 首先采用二八定律进行人群的划分,假设80% 的人会在0到100之间随机选择一个数,那么可 得80%的均值的2/3为33。还有20%的人是极 度理性的人,他们选择平均数将在33左右间选 择,设定为28~38,这种人在28到38之间随机 选择一个数。通过计算模拟后得出总体均值的 2/3为31左右。 • 程序见附件。
# 902学期《Java程序设计》期末作业要求(发学生)

《Java 程序设计》期末作业要求一、作业提交说明本学期2019年6月20日下午17:00之前将作业按教师指定提交方式发送给老师。
所有材料务必在指定之间之前提交完成,过时不候,责任自负。
二、作业提交形式每位同学需提交如下材料:1.(15%)系统开发报告一份。
系统开发报告以“学号+姓名.docx”命名。
每位同学提交符合结构要求、格式要求的系统开发报告一份,“系统开发报告模板”见教师下发的材料。
2.(65%)系统源码一份。
将系统项目文件夹存放在以“Prj学号+姓名”命名的文件夹,并打成压缩包。
3.(20%)系统录屏演示一份。
用EV录屏软件将系统运行全过程进行录屏,录屏时要录制语音讲解,录屏时长3分钟左右,录屏文件以“学号+姓名.mp4”命名。
录屏注意:系统演示要以Eclipse呈现的项目文件夹结构为起始,对项目文件夹内的主要文件进行作用的说明,说明完毕,可运行系统进行系统功能的展示。
注意以体现自己的工作量为前提进行系统演示录屏。
【注意事项】将上述材料存放在以“学号+姓名+系统名称”命名的文件夹,压缩后按教师指定发送方式提交作业。
凡不按上述要求存放文件,或不按上述要求提交文件的,会有相应分值的扣除。
三、大作业要求1. 题目选择结合课堂所学内容,综合运用IO、多线程,网络通讯等技术,制作一个小型Java项目,项目主题不限定,可结合自身情况选择题目。
本要求中的2、3两条对系统功能的要求和技术的要求,均以“联机版五子棋游戏”为例进行说明,供大家设计参考。
2. 基本系统功能(以“联机版五子棋游戏”为例)(1)通过输入棋盘的行列数,自动创建棋盘(2)Server端先启动,Client后启动,建立连接成功(3)黑方点击棋盘上一个网格,可以添加一个黑色棋子,此时,白方的棋盘上相同位置上同步出现相同的黑色棋子。
(4)黑方下期时,白方只能等待,直到黑方下子,白方才能下。
反之亦然。
(5)不能在已经存在棋子的位置上重复落子(6)每落一个棋子,立即判断是否构成五子连成线,立即在双方自动弹出黑方胜,或白方胜,游戏结束。
Java大作业报告

课程:Java程序设计与应用开发题目:登录系统与钟表实现班级:XXXXXXXXXX学号:XXXXXXXX姓名:XXXX日期:XXXXX一、大作业目的用面向对象语言JA V A完成登录系统和钟表的分析、设计和实施。
通过课程设计掌握面向对象编程技术、GUI编程、常用类库的使用和应用系统的开发过程。
二、大作业题目描述和要求1.题目设计简单的登录系统和钟表界面,掌握Java编程中的多媒体应用。
2.要求(1)登录系统是java编程中比较基础的,设计一个登录对话框,通过输入正确的用户名和密码来进入系统,系统是一个带有菜单栏的记事本程序,通过点击菜单栏上的按钮来实现相应的功能。
(2) 通过设计一个钟表程序进一步掌握java在多媒体方面的应用。
3. 开发环境Eclipce + JDK1.4.2三、系统分析1.对于登录系统,首先应该对登录界面进行设计,该对话框中包括两个标签,一个文本输入框,一个密码输入框和两个按钮,这些GUI组件被添加到一个使用了网络袋布局的面板panel中,面板panel又被添加到Text_Login的内容窗格。
设计该系统的初步思路就是首先需要定义图像生成器的界面窗口,其次就是往每个按钮上添加触发事件监听器(如ActionListener、MouseListener、MouseMotionListener),然而在实际操作的过程中,新的问题不断出现,不过最后依依解决了。
对于记事本程序中的菜单栏的实现,菜单也是一种常用的GUI组件,菜单是一种层次结构,最顶层是菜单栏,在菜单栏中可以添加若干个菜单,每个菜单又可以添加若刚菜单选项,子菜单。
当单击一个菜单选项时,会生成一个动作事件,为菜单选项添加事件侦听器就可以侦听起动作事件。
2.对于Java的多媒体应用之钟表实现,程序在窗口上显示一个表盘,时刻度和分刻度为3D样式的,分别为黑灰色和灰色时针分针秒针随着时间在走动,间隔1s。
时针和分针的样式设计为略显锥形,秒针为简单的直线形。
java语言程序设计期末考查大作业报告 3-4

《Java语言程序设计》大作业报告2019-2020学年第一学期班级:--------自己填--------学号:--------自己填--------姓名:--------自己填--------1、设计题目⑴假设车库有3个车位(可以用boolean [ ]数组来表示车库)可以停车,使用多线程模拟多个用户开车离开、停车入库的过程。
注意:车位有车时不能停车。
⑵编写一个菜单程序,要求菜单的结构如下:文件------打开------关闭系统管理------用户管理------新增用户------删除用户------退出系统要求:对退出系统添加事件、并加入快捷键CTRL+E;对新增用户添加事件、并加入快捷键CTRL+A;当点击新增用户菜单,出现一个对话框,对话框中有两个文本框(用户名和密码),同时出现两个按钮(确定和取消)。
确定按钮要有事件功能,且将输入的用户名和密码存入到一个文件中。
取消按钮事件负责完成关闭对话框功能。
2、程序设计思路(要求分步骤写清设计思路,并画出类的UML图)2.1作业32.1.1主要模块划分Park类:里面私有属性parting为车位数量初始化为3个,成员方法into (),也就是停车方法,调用该方法车位减一。
成员方法out(),调用该方法代表车子离开,车位加一。
OutThread类:继承Thread类,重写run方法,并且调用out()方法IntoThread类:继承Thread类,重写run方法,并且调用into()方法Test类:测试类,用来测试,启动OutThread类和IntoThread类线程进行测试。
2.1.2类图2.2作业42.2.1主要模块划分addActionListener:监听事件,主要用于实现鼠标事件,完成页面的打开,关闭,调用文件流;JMenuItem :菜单下拉框列表,让页面的交互性更强,提升用户体验;KeyStroke:快捷键的加入,同JMenuItem 一样,是为了提高用户的体验;2.2.2类图Jframe 类2.2.3 流程图3、 运行结果分析(截图每个关键运行点界面)菜单页面完成添加添加失败关闭窗口取消添加打开添加用户页面作业3:第一次测试,在测试类里面启动IntoThread类的线程和OutThread线程循环调用两个线程,发现只有有车位时,其他车子才能停进去作业4:运行Main函数,run us 得到一个窗口基本菜单列表展示点击新增用户,弹出添加新用户页面(默认文字为请输入新用户名):点击取消或者按ctrl+E,关闭当前窗口,并返回到窗口页面;按照要求填好用户信息,点击确认,则提示添加成功:此时打开指定文档jfram.txt则可以查看到输入的用户名和密码:4、设计中遇到的问题,解决途径及思路,经验总结。
《JAVA程序设计》大作业题目与要求

《JA V A程序设计》大作业题目与要求1.题目原则从以下题目选择,也可从两个或多个个题目中各取部分组合。
若课程设计的工作量能满足要求,也可自行设计题目。
提倡选择某一题目后,学生自己填加一些有创意的程序。
2.语句不少于200行3.写好实验报告。
实验报告说明书的要求:(1)实验目的:结合开发的系统,给出设计目的(2)功能模块简介和系统结构图:结合自己实际开发的系统以及课程设计内容的要求,给出课程设计开发的系统的主要功能模块简介和系统结构图,要求能反映课程设计的主要内容。
(3)系统的主要界面设计及运行说明:结合自己实际开发的系统,给出系统的窗体的整体布局,主要界面设计及运行说明,即主程序界面和子程序的界面,一般可抓几个图,同时给出简单的调出这些程序的过程,及系统的使用说明等。
(4)整理并打印主要的源程序代码。
(5)实验总结:总结本次课程设计的软件中有何收获、有何创新和所存在的不足以及需要改进的地方。
(6)封面:封面从FTP下载“华北科技学院计算机课程设计实验报告”,课程名称为“JA V A程序设计”4.以下题目只给出一般要求,同学可根据题目自己发挥,添加功能,最好有所创《JA V A程序设计》大作业题目与要求1.题目原则从以下题目选择,也可从两个或多个个题目中各取部分组合。
若课程设计的工作量能满足要求,也可自行设计题目。
提倡选择某一题目后,学生自己填加一些有创意的程序。
2.语句不少于200行3.写好实验报告。
实验报告说明书的要求:(1)实验目的:结合开发的系统,给出设计目的(2)功能模块简介和系统结构图:结合自己实际开发的系统以及课程设计内容的要求,给出课程设计开发的系统的主要功能模块简介和系统结构图,要求能反映课程设计的主要内容。
(3)系统的主要界面设计及运行说明:结合自己实际开发的系统,给出系统的窗体的整体布局,主要界面设计及运行说明,即主程序界面和子程序的界面,一般可抓几个图,同时给出简单的调出这些程序的过程,及系统的使用说明等。
Java课程设计参考题目及要求 (2020.6)

《Java程序设计课程设计》要求一、基本要求1、同学们以小组为单位完成课程设计题目,每组成员分工合作,每个人的任务不同。
2、可以选择老师提供的参考选题,也可以自选,如果自选,需要将自选题目的详细内容以及实现要求提供给老师,老师批准后方可采用。
3、要求利用面向对象的设计方法来完成系统的设计。
4、每人提供一份报告,报告内容应包含数据结构设计、程序流程图、程序功能介绍、源代码等;5、模块化程序设计:要求在设计的过程中,按功能定义类书写多个.java文件,进行模块化设计,各个功能模块用类的形式来实现。
6、所选课题必须上机通过,并获得满意的结果。
7、程序书写风格:锯齿型书写格式。
8、完成课程设计报告书(格式见文档最后)。
二、课程设计参考设计题目参考项目:设计实现一个GUI界面的个人字典(单词簿),其中能保存词汇和它们的含义,实现对单词的增、删、查、改等操作。
具体要求:1、使用内置Derby数据库,在数据库中使用表存储单词和该单词的翻译解释,例如:“apple 苹果”“computer 计算机”等2、使用GUI界面管理单词簿,可以向单词簿添加单词,可以修改单词簿中的单词,也可删除单词簿中的单词。
3、可以查询浏览单词簿中的单词,可以查询一个,随机若干个或者全部单词程序运行的参考效果图如下:Java程序设计课程设计报告题目名称:姓名学号专业班级指导教师编写日期(正文部分)一、需求分析(标题均为小三号,宋体)(正文均为小四号,宋体,行距1.5倍)(对所选择题目进行分析,描述问题。
简述课题要解决的问题是什么,有什么要求和限制条件。
列出参与人员进行本设计时要达到的具体的目标。
)二、总体设计(对设计目标进行总体分析,说明要采用的基本思路,说明遇到的问题和解决方法。
说明完成本次课程设计的完整过程。
要描述程序的设计思想,画出本次课程设计完整的程序框图或流程图。
)三、详细设计(要求列出所有编写的类的清单,说明每个类的功能,各形式参数的意义,画出各个类之间的调用关系图。
JAVA项目设计要求及题目

JAVA项目设计要求及题目JA V A项目设计要求及题目一、设计要求:结合本学期所学的Java知识,完成本次综合项目设计。
1、题目可以是以下题目中的一个,也可以是自己定义的题目,但要求题目的难易度和指定题目的难易度相当,并且必须是以MyEclipse为开发平台,SQLServer2005为数据库的题目。
2、项目要求符合MVC设计模式,结合Swing和Hibernate框架。
3、完成系统的分析设计过程,按照面向对象的思想对系统的功能进行模块划分,项目至少必须包含3个大功能模块(如新闻管理模块,用户管理模块等为大模块)。
4、编写和调试各程序模块。
5、代码要求符合java语言代码规范,所有源代码必须格式化并有相应的注释。
6、按项目设计报告模板编写项目设计报告。
7、项目完成时间:16周到19周共3周,要求独立完成。
二、项目设计报告模板:一、需求分析二、功能分析三、总体设计1.系统功能描述2.数据库设计3.E-R模型4.系统流程图5.数据流程图6.系统功能模块划分四、详细设计(主要代码和界面)五、程序设计难点及其解决方法六、不足之处二、设计题目1、职工信息管理系统设计2、企业信息管理系统3、学生信息管理系统设计4、车票管理系统5、销售管理系统6、餐厅信息管理系统7、图书信息管理系统8、医院信息管理系统9、超市信息管理系统10、设备信息管理系统11、信用卡管理系统12、班级信息管理系统13、自来水公司收费系统14、书籍借阅管理系统15、教师工资管理系统16、自定义题目。
JAVA-课程设计(大作业)报告

课程设计(大作业)报告课程名称:面向对象程序设计课程设计设计题目:设计一个记事本院系:信息技术学院班级:设计者:学号:指导教师:设计时间:信息技术学院昆明学院课程设计(大作业)任务书简单记事本程序的设计目录一.题目分析 (5)1.1需求分析 (5)1.2功能要求设计 (5)二.总体设计 (5)2.1设计思路 (5)2.2运行界面 (6)2.3模块说明图 (6)2.4主流程图 (7)2.5 UML图 (7)2.6程序相关说明 (8)三.运行环境 (8)四.详细设计与分析 (8)4.1.初始化组件 (8)4.2.构建菜单栏及其下拉菜单 (8)4.3.“文件”菜单的事件监听 (9)4.5.异常处理 (10)五.调试分析 (12)六.总结 (13)七.参考文献 (14)附录(源代码) (14)一.题目分析1.1需求分析现在网络上各种文档编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed, xint 。
功能也是应有尽有,有的能改变字体,有的能改变文字颜色。
但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。
仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。
本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。
该报告中的程序是使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能,不同之处是本程序能够对文字的颜色进行设置。
该程序主要用到了Java swing和事件监听等。
1.2功能要求设计设计一个记事本,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切,查找替换等功能,可扩展功能。
本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:5)菜单中有“文件”,“编辑”,“关于”三个主菜单。
面向对象程序设计大作业

2019级Java面向对象程序设计大作业题目及要求一、作业目的1、掌握用Java实现面向对象程序设计的基本方法。
2、熟练掌握Java程序开发环境的使用。
3、完成一个GUI应用程序的设计、编码、调试,了解程序设计过程,锻炼实际应用能力,为后续课程打下基础。
二、具体要求1、功能调查2、系统功能框架图3、类说明4、系统的包(package)的规划设计面向对象程序设计大作业二○二零年 12 月1.系统功能说明添加,查找,删除和修改学生的信息,管理学生的学号姓名等。
2.3.系统的包(package)Java.Swing 提供“轻量级”图形用户界面组件类有JFrame,JButton 等Java.Sql :访问数据库,类有DriverManager等Java.awt :图形用户界面包,常用类有Frame,Button,Label,TextField等Java.awt.event :事件处理Java.util:实用工具包,提供Arrays,Date,Random,Scanner等类,以及接口4.所用到的表的结构及数据类型Student信息表打开Java文件bighome.java运行后出现菜单1)添加功能输入要添加的学生的学号,学号必须为八位,点击添加按钮,弹出要添加学生的信息输入框,按提示输入学生的信息姓名,性别,专业,年级然后点击确认,提示添加成功。
注:专业不能超过7个字,年级需要在 2000到2020年。
2)查询功能下拉客户信息系统菜单,选择查询学生的学号,后点击确定查询查询按钮;3)修改功能下拉菜单客户信息系统,找到此学生的信息,点击修改按钮,重新输入相应的正确信息,将错误的替换掉,点击确认;4)删除功能下拉菜单客户信息系统,选择删除学生学号,点击删除按钮即可;5)退出系统功能点击页面右上角的关闭窗口的×号即可;6.程序源代码:import javax.swing.*;import java.awt.*;import java.awt.event.*;public class StuManFrame extends JFrame {private static final long serialVersionUID = 10L; //序列化版本号private StuBusinessLogic stuLogic = new StuBusinessLogic(); //关联业务逻辑层private Stu stu = new Stu(); //实体类private StuManFrame thisObj = this; //当前对象private JLabel labelNum = new JLabel("学号:"); //5个标签private JLabel labelName = new JLabel("姓名:");private JLabel labelSex = new JLabel("性别:");private JLabel labelSpecialty = new JLabel("专业:");private JLabel labelYear = new JLabel("年级:");private JTextField textFieldNum = new JTextField(8); //5个只读文本框private JTextField textFieldName = new JTextField(4);private JTextField textFieldSex = new JTextField(1);private JTextField textFieldSpecialty = new JTextField(7);private JTextField textFieldYear = new JTextField(4);private JButton buttonFirst = new JButton("首记录"); //按钮private JButton buttonPre = new JButton("上记录");private JButton buttonNext = new JButton("下记录");private JButton buttonLast = new JButton("尾记录");private JLabel labelInputNum = new JLabel("请输入学号:");private JTextField textFieldInputNum = new JTextField(8);private JButton buttonSearch = new JButton("查找"); //按钮private JButton buttonAdd = new JButton("添加");private JButton buttonUpdate = new JButton("修改");private JButton buttonDelete = new JButton("删除");private JLabel labelBrowse = new JLabel("======== 浏览区========");private JLabel labelTotal = new JLabel(); //记录总数标签private JLabel labelTitle = new JLabel("――学号―姓名―性别―专业―年级――");private JList list; //列表框private JScrollPane scrollPane; //放置列表框的滚动窗格private JButton buttonBrowse = new JButton("浏览"); //按钮private JButton buttonRefresh = new JButton("刷新");private JButton buttonCancelBrowse = new JButton("取消浏览");private JPanel panUp = new JPanel(); //上部面板private GridLayout gridLay = new GridLayout(6, 1); //按6行布局private JPanel panUp1 = new JPanel();private JPanel panUp2 = new JPanel();private JPanel panUp3 = new JPanel();private JPanel panUp4 = new JPanel();private JPanel panUp5 = new JPanel();private JPanel panUp6 = new JPanel();private JPanel panDown = new JPanel(); //下部面板private BorderLayout borderLay = new BorderLayout(); //按边框布局private JPanel panDownSouth = new JPanel();public StuManFrame(){ //构造方法this.setTitle("三层结构学生信息管理程序");this.setBounds(100, 100, 480, 450);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);try{initialize(); //调用初始化方法}catch (Exception e){e.printStackTrace(); //有异常,输出跟踪轨迹}this.setVisible(true);}private void initialize(){ //初始化方法textFieldNum.setEditable(false);textFieldName.setEditable(false);textFieldSex.setEditable(false);textFieldSpecialty.setEditable(false);textFieldYear.setEditable(false);panUp1.add(labelNum);panUp1.add(textFieldNum);panUp2.add(labelName);panUp2.add(textFieldName);panUp2.add(labelSex);panUp2.add(textFieldSex);panUp3.add(labelSpecialty);panUp3.add(textFieldSpecialty);panUp3.add(labelYear);panUp3.add(textFieldYear);panUp4.setBackground(Color.LIGHT_GRAY);panUp4.add(buttonFirst);panUp4.add(buttonPre);panUp4.add(buttonNext);panUp4.add(buttonLast);panUp5.setBackground(Color.GRAY);panUp5.add(labelInputNum);panUp5.add(textFieldInputNum);panUp5.add(buttonSearch);panUp5.add(buttonAdd);panUp5.add(buttonUpdate);panUp5.add(buttonDelete);labelTitle.setVisible(false);labelBrowse.setForeground(Color.WHITE);labelTotal.setForeground(Color.YELLOW);panUp6.setBackground(Color.BLUE);panUp6.add(labelBrowse);panUp6.add(labelTotal);panUp.setLayout(gridLay); //上部面板设置6行1列网格布局panUp.add(panUp1);panUp.add(panUp2);panUp.add(panUp3);panUp.add(panUp4);panUp.add(panUp5);panUp.add(panUp6);panDown.setLayout(borderLay);panDown.add(labelTitle, BorderLayout.NORTH);panDownSouth.setBackground(Color.LIGHT_GRAY);panDownSouth.add(buttonBrowse);panDownSouth.add(buttonRefresh);panDownSouth.add(buttonCancelBrowse);panDown.add(panDownSouth, BorderLayout.SOUTH);stu = stuLogic.getFirstStu();this.displayRecord(stu); //显示一个学生记录list = new JList(StuBusinessLogic.getStus()); //构建学生集列表scrollPane = new JScrollPane(list); //构建滚动窗格panDown.add(scrollPane, BorderLayout.CENTER); //下部面板放置滚动窗格scrollPane.setVisible(false); //暂不显示滚动窗格this.setLayout(new GridLayout(2, 1)); //窗框分上下两部分this.add(panUp);this.add(panDown);//按钮添加动作事件监听器:buttonFirst.addActionListener(new ActionHandler());buttonPre.addActionListener(new ActionHandler());buttonNext.addActionListener(new ActionHandler());buttonLast.addActionListener(new ActionHandler());buttonSearch.addActionListener(new ActionHandler());buttonAdd.addActionListener(new ActionHandler());buttonUpdate.addActionListener(new ActionHandler());buttonDelete.addActionListener(new ActionHandler());buttonBrowse.addActionListener(new ActionHandler());buttonRefresh.addActionListener(new ActionHandler());buttonCancelBrowse.addActionListener(new ActionHandler());buttonRefresh.setEnabled(false);buttonCancelBrowse.setEnabled(false);}//按钮动作事件监听处理类(内部类):class ActionHandler implements ActionListener{public void actionPerformed(ActionEvent e){if(e.getSource()==buttonFirst){ //“首记录”按钮stu = stuLogic.getFirstStu(); //调用业务逻辑层方法获取首记录displayRecord(stu); //显示学生记录}else if(e.getSource()==buttonPre){ //“上记录”stu = stuLogic.getPreviousStu();displayRecord(stu);}else if(e.getSource()==buttonNext){ //“下记录”stu = stuLogic.getNextStu();displayRecord(stu);}else if(e.getSource()==buttonLast){ //“尾记录”stu = stuLogic.getLastStu();displayRecord(stu);}else if(e.getSource()==buttonSearch){ //“查找”:按学号查找String num = textFieldInputNum.getText().trim();if (num.length()==0 || num == null ){JOptionPane.showMessageDialog(null, "请输入学号再查找!");textFieldInputNum.requestFocus();}else{stu = stuLogic.searchStu(num); //调用业务逻辑层查找方法if (stu == null){JOptionPane.showMessageDialog(null,"学号为"+ num + "的记录不存在!");}displayRecord(stu);}}else if(e.getSource()==buttonAdd){ //“添加”:先查找再添加String num = textFieldInputNum.getText().trim();if (num.length()==0 ){JOptionPane.showMessageDialog(null, "请输入要添加的学号!");textFieldInputNum.requestFocus();}else if (! num.matches("[\\d]{8}") ){ //如果学号不是8位数字JOptionPane.showMessageDialog(null, "学号必须是8位数字!");textFieldInputNum.requestFocus();}else{stu = stuLogic.searchStu(num); //调用业务逻辑层查找方法if (stu != null){JOptionPane.showMessageDialog(null, "该学号记录已存在!");}else{ //显示添加记录模式对话框,进行记录添加操作:AddDialog dialog = new AddDialog(thisObj, true, num);stu = dialog.getStu(); //获取添加的学生对象}displayRecord(stu);}}else if(e.getSource()==buttonUpdate){ //“修改”:先查找再修改String num = textFieldInputNum.getText().trim();if (num.length()==0 || ! num.matches("[\\d]{8}") ){JOptionPane.showMessageDialog(null,"请输入要修改的学号!\n学号必须是8位数字!");textFieldInputNum.requestFocus();}else{stu = stuLogic.searchStu(num); //调用业务逻辑层查找方法displayRecord(stu);if (stu == null){JOptionPane.showMessageDialog(null,"该学号的记录不存在,无法修改!");}else{ //显示修改记录模式对话框,进行修改操作:UpdateDialog dialog = new UpdateDialog(thisObj, true, num);stu = dialog.getStu(); //获取修改的学生对象displayRecord(stu);}}}else if(e.getSource()==buttonDelete){ //“删除”:先查找后删除String num = textFieldInputNum.getText().trim();if (num.length()==0 || ! num.matches("[\\d]{8}") ){JOptionPane.showMessageDialog(null,"请输入要删除的学号!\n学号必须是8位数字!");textFieldInputNum.requestFocus();}else{stu = stuLogic.searchStu(num); //调用业务逻辑层查找方法displayRecord(stu);if (stu == null){JOptionPane.showMessageDialog(null,"该学号的记录不存在!");}else{ //显示确认框,选择是否删除:int result =JOptionPane.showConfirmDialog(null,"真的删除该记录吗?");if (result==JOptionPane.YES_OPTION){stuLogic.deleteStu(stu); //调用业务逻辑层删除方法stu = stuLogic.getCurrentStu(); //获取删除后当前学生displayRecord(stu);}}}}else if(e.getSource()==buttonBrowse){ //“浏览”所有记录buttonBrowse.setEnabled(false);buttonRefresh.setEnabled(true);buttonCancelBrowse.setEnabled(true);list = new JList(StuBusinessLogic.getStus()); //获取学生集所有元素scrollPane.setViewportView(list); //设置滚动窗格视图scrollPane.setVisible(true);labelTitle.setVisible(true);labelTotal.setText("记录总数:" + StuBusinessLogic.getTotal());thisObj.setVisible(true);}else if(e.getSource()==buttonRefresh){ //“刷新”浏览buttonBrowse.setEnabled(false);buttonCancelBrowse.setEnabled(true);list = new JList(StuBusinessLogic.reGetDBAllRecords());//重获库记录scrollPane.setViewportView(list); //设置滚动窗格视图scrollPane.setVisible(true);labelTitle.setVisible(true);labelTotal.setText("记录总数:" + StuBusinessLogic.getTotal());thisObj.setVisible(true);}else if(e.getSource()==buttonCancelBrowse){ //“取消浏览”buttonCancelBrowse.setEnabled(false);buttonBrowse.setEnabled(true);buttonRefresh.setEnabled(true);scrollPane.setVisible(false);labelTitle.setVisible(false);labelTotal.setText("");thisObj.setVisible(true);}}}public void displayRecord(Stu stu){ //显示学生记录方法if (stu !=null ){textFieldNum.setText(stu.getNum());textFieldName.setText(stu.getName());textFieldSex.setText(String.valueOf(stu.getSex()));textFieldSpecialty.setText(stu.getSpecialty());textFieldYear.setText(String.valueOf(stu.getYear()));}else {textFieldNum.setText(null);textFieldName.setText(null);textFieldSex.setText(null);textFieldSpecialty.setText(null);textFieldYear.setText(null);}}}import java.sql.*;import java.util.Vector;import javax.swing.JOptionPane;/** 数据层 */public class StuDataAccess { //数据层类private static String driver = "com.mysql.cj.jdbc.Driver"; //驱动程序private static String url ="jdbc:mysql://localhost:3306/studb?useSSL=false&allowPublicKeyRetri eval=true&serverTimezone=UTC"; //数据库源private static Connection conn; //连接private Statement stmt; //预语句private PreparedStatement prpstmt; //预编译语句private ResultSet rs; //结果集private static Connection createConnection(){ //建立连接方法try{if (conn == null || conn.isClosed()) {Class.forName(driver); //加载驱动程序conn = DriverManager.getConnection(url,"root","root"); //建立连接}}catch(Exception e){System.err.println("建立连接异常:"+ e);}return conn;}private static void closeConnection(){ //关闭连接方法try{if(conn != null && ! conn.isClosed()){conn.close();}}catch(SQLException se){JOptionPane.showMessageDialog(null, "关闭库连接异常:" +se.getMessage());}}private void closeResultSet(){ //关闭结果集方法try{if (rs != null ){ rs.close();}}catch(SQLException se){JOptionPane.showMessageDialog(null, "关闭结果集异常:" +se.getMessage());}}private void closeStatement(){ //关闭语句方法try{if (stmt != null ){ stmt.close();}if (prpstmt !=null){ prpstmt.close();}}catch(SQLException se){JOptionPane.showMessageDialog(null, "关闭语句异常:" +se.getMessage());}}public Vector<Stu> getAllRecords(){ //获取所有记录方法Vector<Stu> stus = new Vector<Stu>(); //学生记录集String sql = "select * from Stus";try{createConnection();stmt = conn.createStatement();rs = stmt.executeQuery(sql);while(rs.next()){Stu stu = new Stu(); //学生对象stu.setNum(rs.getString("Num"));stu.setName(rs.getString("Name"));stu.setSex(rs.getString("Sex").charAt(0));stu.setSpecialty(rs.getString("Specialty"));stu.setYear(rs.getInt("Year"));stus.add(stu);}}catch(Exception e){JOptionPane.showMessageDialog(null, "查找所有记录异常:" +e.getMessage());}finally{this.closeResultSet();this.closeStatement();closeConnection();}return stus;}//按学号查找学生记录方法:找到,返回Stu对象,否则,返回null public Stu searchRecord(String num){ //查找学生记录方法Stu stu = null; //学生变量String sql = "select * from Stus where Num = ?";try{createConnection();prpstmt = conn.prepareStatement(sql);prpstmt.setString(1, num); //参数索引从1开始rs = prpstmt.executeQuery();if(rs.next()){ //如果查找到记录stu = new Stu(); //构建学生对象stu.setNum(rs.getString("Num"));stu.setName(rs.getString("Name"));stu.setSex(rs.getString("Sex").charAt(0));stu.setSpecialty(rs.getString("Specialty"));stu.setYear(rs.getInt("Year"));}}catch(Exception e){JOptionPane.showMessageDialog(null, "查找记录异常:" +e.getMessage());}finally{closeStatement();closeConnection();}return stu;}//添加一条学生记录方法:成功,返回1(更新语句数目);不成功,返回0。
2019级Java面向对象程序设计大作业题目及要求

2019级Java面向对象程序设计大作业题目及要求2019级Java面向对象程序设计大作业题目及要求一、作业目的1、掌握用Java实现面向对象程序设计的基本方法。
2、熟练掌握Java程序开发环境的使用。
3、完成一个GUI应用程序的设计、编码、调试,了解程序设计过程,锻炼实际应用能力,为后续课程打下基础。
二、作业题目编写的代码需要体现面向对象的思想,需要根据题意分析创建几个类。
所有的题目都建议实现GUI应用程序,即具有图形用户界面。
建议批量信息的存储使用集合类对象来存储,例如ArrayList,HashMap等,不要用数组。
具体要求可详细阅读题目。
若不想做以上题目的,可以自拟题目,请把题目和详细功能描述发到指导老师邮箱或和指导老师电话联系,由指导老师确认后,可以做自拟的题目。
(一)餐厅点餐系统1、采用图形用户界面,可参考下图设计,需要有餐厅名称、菜式类别导航页面、菜式展示选择页面、点菜单显示区域、操作按钮、菜单栏(添加“系统设置”菜单项,可设置餐厅名称的字体样式)等。
2、系统至少包括以下信息:菜式信息:菜的编号、菜名、菜的类型、菜价、(菜的简介)等客户点菜单信息:本单编号、餐桌编号、用餐人数、日期、点菜列表(菜名、数量、价格)、账单总额等3、系统基本功能要求:(1)点击菜式类别,可展示该分类下的所有菜品(系统中不少于5个菜品分类,每个菜品类别,不少于6个菜)。
(2)选择餐桌编号、用餐人数、菜式等,点击【取消】按钮,取消所有菜式的选择,点击【下单】按钮生成点菜单,计算总金额(需要根据用餐人数计算茶位费),并在界面中显示。
(3)每桌的点菜单同时需要使用文件存储。
(4)点击【加单】按钮,可以在点菜单中追加菜式,更新总金额,更新界面和文件中信息。
(5)点击【结账】按钮,完成结账,清空本餐桌点菜单。
4、扩展功能要求:(1)为菜品添加数量按钮,可选择点菜数量。
(2)计算餐厅的销售总额,添加管理员角色,设置登录功能,能查看所有桌子的点菜单,可计算销售总额等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《JA V A程序设计》大作业题目与要求1.题目原则从以下题目选择,也可从两个或多个个题目中各取部分组合。
若课程设计的工作量能满足要求,也可自行设计题目。
提倡选择某一题目后,学生自己填加一些有创意的程序。
2.语句不少于200行
3.写好实验报告。
实验报告说明书的要求:
(1)实验目的:结合开发的系统,给出设计目的
(2)功能模块简介和系统结构图:结合自己实际开发的系统以及课程设计内容的要求,给出课程设计开发的系统的主要功能模块简介和系统结构图,要求能反映课程设计的主要内容。
(3)系统的主要界面设计及运行说明:结合自己实际开发的系统,给出系统的窗体的整体布局,主要界面设计及运行说明,即主程序界面和子程序的界面,一般可抓几个图,同时给出简单的调出这些程序的过程,及系统的使用说明等。
(4)整理并打印主要的源程序代码。
(5)实验总结:总结本次课程设计的软件中有何收获、有何创新和所存在的不足以及需要改进的地方。
(6)封面:封面从FTP下载“华北科技学院计算机课程设计实验报告”,课程名称为“JA V A程序设计”
4.以下题目只给出一般要求,同学可根据题目自己发挥,添加功能,最好有所创
《JA V A程序设计》大作业题目与要求1.题目原则从以下题目选择,也可从两个或多个个题目中各取部分组合。
若课程设计的工作量能满足要求,也可自行设计题目。
提倡选择某一题目后,学生自己填加一些有创意的程序。
2.语句不少于200行
3.写好实验报告。
实验报告说明书的要求:
(1)实验目的:结合开发的系统,给出设计目的
(2)功能模块简介和系统结构图:结合自己实际开发的系统以及课程设计内容的要求,给出课程设计开发的系统的主要功能模块简介和系统结构图,要求能反映课程设计的主要内容。
(3)系统的主要界面设计及运行说明:结合自己实际开发的系统,给出系统的窗体的整体布局,主要界面设计及运行说明,即主程序界面和子程序的界面,一般可抓几个图,同时给出简单的调出这些程序的过程,及系统的使用说明等。
(4)整理并打印主要的源程序代码。
(5)实验总结:总结本次课程设计的软件中有何收获、有何创新和所存在的不足以及需要改进的地方。
(6)封面:封面从FTP下载“华北科技学院计算机课程设计实验报告”,课程名称为“JA V A程序设计”
4.以下题目只给出一般要求,同学可根据题目自己发挥,添加功能,最好有所创。