java课程设计报告
java实训报告(通用7篇)

java实训报告(通用7篇)在当下这个社会中,报告有着举足轻重的地位,写报告的时候要注意内容的完整。
我们应当如何写报告呢?下面是小编整理的java实训报告,供大家参考借鉴,希望可以帮助到有需要的朋友。
java实训报告1一、课程设计名称及主要内容:1、课程设计名称:时钟动画2、课程设计的主要内容:以下题目任选一个:(1)图形界面类,如科学计算器、绘图板、日历、游戏程序等。
(2)动画类,编制功能较复杂、效果较好的Applet动画程序。
(3)数据处理类,如学生学籍、课程成绩、图书编目、仓库货物等数据录入查询程序。
(4)其他类型,自选题目,须经指导老师同意。
我所选的题目是动画类的Applet动画程序,主要任务是用Java 程序设计一个时钟动画。
二、程序的设计思想和流程图:1、设计思想:现在的各种时钟花样百出,千奇百怪,功能亦是越来越先进了。
我很喜欢这些各式各样的时钟,所以希望自己也能设计出一个来。
于是,我希望自己能够用自己所学的Java知识设计出一个自己的时钟动画,即使是最简单的,但我相信这是暂时的。
只要我能够努力学好Java知识,将来一定能够设计出更好更完美的时钟动画。
2、流程图:三、程序介绍:1、设计方法及步骤:题目分析:根据《课程设计任务书》要求,分析题目,构造出程序的基本思路(算法设计)。
画出程序设计结构框图。
构造数据结构:根据程序结构框图和题目分析结果(采用算法),构造程序所用各项数据,各种窗体及他们之间的联系。
构造程序框架:在窗体确定之后,根据算法设计出所用各个窗体之间的调用关系。
程序设计:①画出程序功能框图和结构框图;②根据框图设计程序;③编译程序调试程序,使程序可以使用;④完备程序功能。
程序打包:所设计程序汇总,将程序分类归入相应子目录,完成程序所有设计要求。
2、完成情况:经过一系列的Java程序代码的设计,虽然过程中遇到了许多的问题,但是最终解决了所有的问题,准确的设计出了时钟动画,运行情况正常。
Java课程设计报告1

Java程序设计课程设计报告院别:计算机系班级:XXXX学号: ******XXXXX姓名: XXX指导教师:XXX日期:2013-5-24目录1概述 (3)1.1实验题目和内容 (3)1.2实验目的和要求 (3)2计算器的设计与实现 (4)2.1程序步骤 (4)2.2程序源代码 (4)3运行调试及讨论分析 (4)4实验小结与心得 (12)1概述1.1设计目的及思路通过本课程设计能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。
利用Java Applet图形界面首先开始设计一个计算器的界面,定义计算器所需要的按钮并赋给其按钮名称,使得使用计算器时简单明了,清晰可见,操作轻松。
给各个按钮进行算法,利用鼠标点击事件,当鼠标点击某个按钮时就开始执行那个按钮所定义的算法,生成数据并显示。
除数字的输入为直接进行输入外,其他运算例如+、-、*、/、开平方等算法要求计算时通过内部较为复杂的运算将结果显示在显示屏上。
当然了在输入数据时还要进行异常捕捉,防止越界的现象的发生,这也是Java语言健壮性的体现!1.2功能模块设计以下为标准计算器的基本功能:(1)加法两个数据进行加操作,可以为小数。
(2)减法两个数据进行减操作,可以为负数相减。
(3)乘法两个数相乘操作。
(4)除法两个数相除操作(5)清零将运算框清除(6)返回退回一格2计算器的设计与实现2.1程序界面2.2程序源代码import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;public class Calculator extends JFrame implements ActionListener{JPanel vv1,vv2,vv3,vv4;JTextField kk1 ; //添加数字框和符号框JButton[] r={new JButton("7"),new JButton("8"),new JButton("9"),new JButton("/"),new JButton("4"),new JButton("5"),new JButton("6"),new JButton("*"),new JButton("1"),new JButton("2"),new JButton("3"),new JButton("-"),new JButton("0"),new JButton("."),new JButton("+"),new JButton("="),new JButton("←"),new JButton("清空")};double a=0,b=0,c=0,fuhao=5;Boolean has=false;Boolean hav=true;Boolean haw=true;Calculator(String S){setTitle(S);kk1=new JTextField("0",20);kk1.setEditable(false);kk1.setFont(new Font("宋体",Font.BOLD,25));kk1.setBackground(Color.YELLOW);for(int i=16;i<18;i++){r[i].setFont(new Font("黑体",Font.BOLD,15));r[i].setForeground(Color.blue);}vv1=new JPanel(new GridLayout(4,5,5,5));vv2=new JPanel(new GridLayout(1,2,1,1));vv3=new JPanel(new FlowLayout());vv4=new JPanel(new BorderLayout());vv3.add(kk1);vv4.add(vv2,BorderLayout.NORTH);vv4.add(vv1,BorderLayout.CENTER);for(int i=0;i<16;i++)r[i].setForeground(Color.black);this.add(vv3,BorderLayout.NORTH);this.add(vv4,BorderLayout.CENTER);for(int i=16;i<18;i++)vv2.add(r[i]);for(int i=0;i<16;i++)vv1.add(r[i]);for(int i=0;i<18;i++)r[i].addActionListener(this);for(int i=16;i<18;i++){setSize(350,300);setLocation(210,205);setResizable(false);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }public void actionPerformed(ActionEvent e){if(e.getSource()==r[12]){ if(hav&&haw&&!kk1.getText().equals("0"))kk1.setText(kk1.getText()+"0");else {kk1.setText("");kk1.setText(kk1.getText()+"0");hav=true;haw=true;}}else if(e.getSource()==r[8]){ if(hav&&haw&&!kk1.getText().equals("0"))kk1.setText(kk1.getText()+"1");else {kk1.setText("");kk1.setText(kk1.getText()+"1");hav=true;haw=true;}}else if(e.getSource()==r[9]){ if(hav&&haw&&!kk1.getText().equals("0"))kk1.setText(kk1.getText()+"2");else {kk1.setText("");kk1.setText(kk1.getText()+"2");hav=true;haw=true;}}else if(e.getSource()==r[10]){ if(hav&&haw&&!kk1.getText().equals("0"))kk1.setText(kk1.getText()+"3");else {kk1.setText("");kk1.setText(kk1.getText()+"3");hav=true;haw=true;}}else if(e.getSource()==r[4]){ if(hav&&haw&&!kk1.getText().equals("0")) kk1.setText(kk1.getText()+"4");else {kk1.setText("");kk1.setText(kk1.getText()+"4");hav=true;haw=true;}}else if(e.getSource()==r[5]){ if(hav&&haw&&!kk1.getText().equals("0")) kk1.setText(kk1.getText()+"5");else {kk1.setText("");kk1.setText(kk1.getText()+"5");hav=true;haw=true;}}else if(e.getSource()==r[6]){ if(hav&&haw&&!kk1.getText().equals("0")) kk1.setText(kk1.getText()+"6");else {kk1.setText("");kk1.setText(kk1.getText()+"6");hav=true;haw=true;}}else if(e.getSource()==r[0]){ if(hav&&haw&&!kk1.getText().equals("0")) kk1.setText(kk1.getText()+"7");else {kk1.setText("");kk1.setText(kk1.getText()+"7");hav=true;haw=true;}}else if(e.getSource()==r[1]){ if(hav&&haw&&!kk1.getText().equals("0")) kk1.setText(kk1.getText()+"8");else {kk1.setText("");kk1.setText(kk1.getText()+"8");hav=true;haw=true;}}else if(e.getSource()==r[2]){ if(hav&&haw&&!kk1.getText().equals("0")) kk1.setText(kk1.getText()+"9");else {kk1.setText("");kk1.setText(kk1.getText()+"9");hav=true;haw=true;}} //数字键else if(e.getSource()==r[14]){if(kk1.getText().trim().length()>0){ a=Double.valueOf(kk1.getText());kk1.setText("");fuhao=0;has=true;hav=true;haw=false;}else if(!haw){fuhao=0;}}//+else if(e.getSource()==r[11]){if(kk1.getText().trim().length()>0){ a=Double.valueOf(kk1.getText());kk1.setText("");fuhao=1;has=true;hav=true;haw=false;} else if(!haw){fuhao=1; }}//-else if(e.getSource()==r[7]){if(kk1.getText().trim().length()>0){ a=Double.valueOf(kk1.getText());kk1.setText("");fuhao=2;has=true;hav=true;haw=false;} else if(!haw){fuhao=2;}}//*else if(e.getSource()==r[3]){if(kk1.getText().trim().length()>0){ a=Double.valueOf(kk1.getText());kk1.setText("");fuhao=3;has=true;hav=true;haw=false;} else if(!haw){fuhao=3;}}// 运算符号/else if(e.getSource()==r[15]){if(kk1.getText().length()>0&&has){b=Double.valueOf(kk1.getText()); // =if(fuhao==0){c=a+b;kk1.setText(String.valueOf(c));has=false;hav=false;}else if(fuhao==1){c=a-b;kk1.setText(String.valueOf(c));has=false;hav=false;}else if(fuhao==2){c=a*b;kk1.setText(String.valueOf(c));has=false;hav=false;}else if(fuhao==3){ if(b!=0){c=a/b;kk1.setText(String.valueOf(c));}else JOptionPane.showMessageDialog(null, "除数不能为0");has=false;hav=false;}}} // 计算else if(e.getSource()==r[13]){if(kk1.getText().indexOf(".")==-1&&kk1.getT ext().length()>0) kk1.setText(kk1.getText()+".");} //添加小数点else if(e.getSource()==r[16]){if(kk1.getText().length()>1)kk1.setText(kk1.getT ext().substring(0, kk1.getText().length()-1));else kk1.setText("0");hav=true;} //Backspaceelse if(e.getSource()==r[17]){kk1.setText("0");has=false;hav=true;}}// CEpublic static void main(String[] args){new Calculator("计算器");}}3运行调试及讨论分析将代码写好之后检查代码的正确性,检查代码无误后将代码进行调试和运行将会出现一个JavaApplet计算器界面。
java课程设计记事本设计报告

java课程设计记事本设计报告一、教学目标本课程旨在通过Java编程语言实现一个记事本应用程序,让学生掌握Java编程的基本概念和方法,培养学生的编程能力和解决问题的能力。
1.理解Java编程语言的基本语法和结构。
2.掌握Java编程中的数据类型、变量、运算符、控制语句等基本概念。
3.学习Java中的类和对象的概念,理解封装、继承和多态的原理。
4.熟悉Java中的常用类库和方法。
5.能够运用Java编程语言编写简单的程序。
6.能够使用Java编程语言实现一个记事本应用程序,包括文本的增删改查等功能。
7.能够分析并解决编程过程中遇到的问题。
情感态度价值观目标:1.培养学生的团队合作意识和沟通能力,通过小组合作完成项目。
2.培养学生的创新思维和解决问题的能力,鼓励学生进行自主学习和探索。
3.培养学生的学习兴趣和自信心,让学生感受到编程的乐趣和成就感。
二、教学内容本课程的教学内容主要包括Java编程语言的基本概念和方法,以及记事本应用程序的设计和实现。
1.Java编程语言的基本概念和方法:–数据类型、变量、运算符、控制语句等基本概念。
–类和对象的概念,封装、继承和多态的原理。
–常用类库和方法的使用。
2.记事本应用程序的设计和实现:–用户界面设计:创建文本框、按钮等控件,实现用户输入和显示功能。
–文件操作:实现文件的打开、保存、关闭等功能,使用文件读写技术。
–文本处理:实现文本的增删改查等功能,使用数据结构和算法进行文本管理。
三、教学方法本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等,以激发学生的学习兴趣和主动性。
1.讲授法:教师通过讲解Java编程语言的基本概念和方法,以及记事本应用程序的设计和实现,引导学生掌握相关知识。
2.讨论法:学生分组进行讨论,分享自己的理解和思路,互相学习和交流。
3.案例分析法:分析实际案例,让学生了解记事本应用程序的实际应用场景和设计思路。
4.实验法:学生通过编写代码和进行实验,实现记事本应用程序的功能,培养学生的实际编程能力和解决问题的能力。
javaweb课程设计报告

javaweb课程设计报告一、课程目标知识目标:1. 理解JavaWeb的基本概念,掌握Web应用的工作原理;2. 学会使用Java Servlet和JSP技术开发动态Web应用;3. 掌握HTML、CSS和JavaScript等前端技术,实现与后端的交互;4. 了解JavaWeb常用框架的作用及其使用方法。
技能目标:1. 能够独立搭建JavaWeb开发环境,完成基本Web应用配置;2. 熟练运用Java Servlet和JSP技术,实现Web应用的动态数据处理;3. 能够运用前端技术,设计美观、易用的Web页面;4. 学会使用常用框架,提高Web应用的开发效率。
情感态度价值观目标:1. 培养学生积极探索、主动学习的兴趣,提高自主解决问题的能力;2. 培养团队合作精神,让学生在项目实践中学会与他人协作;3. 引导学生关注Web技术发展趋势,激发创新意识,培养创新精神;4. 增强学生的网络安全意识,树立正确的网络价值观。
课程性质:本课程为实践性较强的课程,注重理论与实践相结合,通过项目驱动的方式,让学生在实际操作中掌握JavaWeb技术。
学生特点:学生具备一定的Java基础,对Web技术有一定了解,但实践经验不足。
教学要求:结合学生特点,课程设计应注重实用性,以项目为主线,引导学生主动探索,提高实践能力。
同时,注重分层教学,满足不同层次学生的学习需求。
在教学过程中,关注学生的情感态度价值观培养,全面提升综合素质。
通过课程学习,使学生能够独立完成中小型Web应用的开发。
二、教学内容1. JavaWeb基本概念与工作原理- Web应用发展历程- JavaWeb技术体系结构- HTTP协议基础2. Java Servlet技术- Servlet生命周期- Servlet配置与部署- Servlet API使用3. JSP技术- JSP页面基本结构- JSP内置对象- JSP标签库4. 前端技术- HTML基本语法- CSS样式表- JavaScript基础5. JavaWeb常用框架- Struts2框架- Spring框架- Hibernate框架6. 项目实践- 学生信息管理系统- 网上书店- 论坛系统教学内容安排与进度:第1周:JavaWeb基本概念与工作原理第2-3周:Java Servlet技术第4-5周:JSP技术第6-7周:前端技术第8-9周:JavaWeb常用框架第10-12周:项目实践教材章节关联:1. JavaWeb基本概念与工作原理:教材第1章2. Java Servlet技术:教材第2章3. JSP技术:教材第3章4. 前端技术:教材第4章5. JavaWeb常用框架:教材第5章6. 项目实践:教材实例及拓展内容教学内容的选择和组织注重科学性和系统性,以教材为基础,结合实际项目需求,合理安排教学进度,使学生能够循序渐进地掌握JavaWeb技术。
java课程设计报告摘要

java课程设计报告摘要一、课程目标知识目标:1. 掌握Java基本语法和编程规范,理解面向对象编程思想;2. 学会使用Java编写简单的控制台程序,包括变量、数据类型、运算符、流程控制语句等;3. 理解类和对象的概念,掌握类的定义、属性、方法以及构造函数的使用;4. 掌握数组、字符串等基本数据结构的使用。
技能目标:1. 培养学生独立编写Java代码的能力,提高编程技巧;2. 培养学生分析问题、解决问题的能力,学会运用Java语言进行程序设计;3. 培养学生良好的编程习惯,注重代码规范和优化。
情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养主动学习的积极性;2. 培养学生的团队协作意识,学会与他人分享和交流编程经验;3. 培养学生面对困难勇于挑战的精神,增强自信心。
分析课程性质、学生特点和教学要求,本课程目标具体、可衡量,旨在让学生掌握Java编程基础知识,培养编程技能,同时注重培养学生的情感态度价值观,使他们在学习过程中形成积极、主动、合作的学习氛围。
通过本课程的学习,学生将具备初步的Java编程能力,为后续深入学习打下坚实基础。
二、教学内容根据课程目标,教学内容分为以下四个部分:1. Java基础语法与编程规范- 章节一:Java简介与开发环境配置- 章节二:变量、数据类型、运算符- 章节三:流程控制语句(顺序、分支、循环)- 章节四:数组与字符串2. 面向对象编程基础- 章节五:类与对象- 章节六:构造函数与封装- 章节七:继承与多态- 章节八:接口与抽象类3. 常用类与数据结构- 章节九:Java集合框架- 章节十:Java异常处理4. Java编程实践- 项目一:编写简单的控制台程序(计算器、图书管理系统等)- 项目二:面向对象编程实践(学生管理系统、购物车等)教学内容科学、系统,按照教学大纲逐步展开。
教学进度安排如下:1. Java基础语法与编程规范(2周)2. 面向对象编程基础(3周)3. 常用类与数据结构(2周)4. Java编程实践(3周)三、教学方法针对Java课程的特点和课程目标,采用以下多样化的教学方法,以激发学生的学习兴趣和主动性:1. 讲授法:对于Java基础语法、面向对象编程等理论性较强的内容,采用讲授法进行教学。
java课程设计报告

java课程设计报告Java课程设计报告。
一、引言。
Java作为一种跨平台的编程语言,具有广泛的应用领域和强大的功能,因此在计算机专业课程中占据着重要的地位。
本次课程设计旨在通过对Java语言的学习和实践,提高学生对于面向对象程序设计的理解和应用能力,同时锻炼学生的编程实践能力和团队协作能力。
二、课程设计内容。
1. 课程设计主题。
本次课程设计的主题为“学生成绩管理系统的设计与实现”。
通过该主题的设计,旨在让学生通过实际的项目开发,掌握Java语言的基本语法和面向对象的编程思想,同时对软件开发的整个流程有一个清晰的认识。
2. 课程设计目标。
(1)掌握Java语言的基本语法和面向对象的编程思想;(2)了解软件开发的整个流程,包括需求分析、设计、编码、测试和维护;(3)培养学生的团队协作能力和解决问题的能力;(4)通过实际项目的开发,提高学生的编程实践能力。
三、课程设计过程。
1. 需求分析。
首先,团队成员对学生成绩管理系统的功能需求进行了详细的分析和讨论,确定了系统的基本功能模块,包括学生信息管理、课程信息管理、成绩管理等。
通过需求分析,明确了系统的功能和性能需求,为后续的设计和编码工作奠定了基础。
2. 系统设计。
在需求分析的基础上,团队成员进行了系统的整体设计和模块设计。
通过UML建模工具,绘制了系统的用例图、类图、时序图等,明确了各个模块之间的关系和交互流程。
同时,团队成员还对数据库的设计进行了详细的讨论和设计,确定了数据库的表结构和字段。
3. 编码实现。
在系统设计完成后,团队成员按照设计文档进行了编码实现工作。
在编码的过程中,严格按照Java语言的规范进行编码,同时注重代码的可读性和可维护性。
通过团队的协作和沟通,确保了各个模块的功能实现和整体功能的完整性。
4. 测试与调试。
在编码实现完成后,团队成员进行了系统的测试与调试工作。
通过单元测试、集成测试和系统测试,发现并修复了系统中存在的各种问题和bug。
Java课程设计实验报告及全部源码流程图

课程设计一、实验目的1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。
2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。
日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。
3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。
二、实验要求1.问题描述准确、规范。
2.程序结构合理,调试数据准确、有代表性.。
3.界面布局整齐,人机交互方便。
4.输出结果正确。
5.正确撰写实验报告。
三、实验内容编写一个GUI程序实现日历的功能。
一年日历用12页显示,每页显示一个月的日历。
日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。
可以实现显示时钟,时钟能进行整点报时。
可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。
四、实验步骤1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。
2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。
3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。
4. 根据实验结果,写出合肥工业大学实验报告。
实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。
5.详细的上机实验步骤见任务分工及程序设计进度表。
五、实验结果经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。
日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。
java课程设计及实验报告

java课程设计及实验报告一、教学目标本课程旨在通过Java编程语言的学习,让学生掌握Java编程的基本语法、面向对象编程思想以及常用的数据结构与算法。
通过课程的学习,使学生能够独立完成简单的Java程序,培养学生的编程能力和逻辑思维能力。
具体的教学目标如下:1.知识目标:–掌握Java基本语法和编程规范;–理解面向对象编程的基本概念和方法;–熟悉常用的数据结构(如数组、链表、栈、队列等)和算法(如排序、查找等)。
2.技能目标:–能够使用Java编写简单的程序,解决实际问题;–能够运用面向对象编程思想进行程序设计;–能够运用常用的数据结构与算法解决编程问题。
3.情感态度价值观目标:–培养学生的团队合作意识和沟通能力;–培养学生的创新精神和解决问题的能力;–培养学生的自主学习能力和持续学习的兴趣。
二、教学内容根据教学目标,本课程的教学内容主要包括以下几个方面:1.Java基本语法和编程规范;2.面向对象编程思想,包括类与对象、继承与多态、封装等;3.常用的数据结构与算法,包括数组、链表、栈、队列、排序、查找等;4.Java标准库的使用,包括字符串、数学运算、输入输出等;5.简单的Java编程实例和实战项目。
教学内容的安排和进度如下:•第1-2周:Java基本语法和编程规范;•第3-4周:面向对象编程思想;•第5-6周:常用的数据结构与算法;•第7-8周:Java标准库的使用;•第9-10周:简单的Java编程实例和实战项目。
三、教学方法为了达到教学目标,本课程将采用多种教学方法,包括:1.讲授法:讲解Java基本语法、面向对象编程思想和常用的数据结构与算法;2.案例分析法:分析实际的编程案例,让学生更好地理解和运用Java编程知识;3.实验法:让学生通过动手实践,巩固所学知识和技能;4.讨论法:学生进行小组讨论,培养学生的团队合作意识和沟通能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:《Java编程思想》;2.参考书:《Java核心技术》、《Head First Java》;3.多媒体资料:教学PPT、视频教程、在线编程练习题等;4.实验设备:计算机、网络环境、编程开发环境(如Eclipse、IntelliJIDEA等)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
合肥学院
计算机科学与技术系
课程设计报告
2013~2014学年第一学期
课程面向对象课程设计
课程设计名称公司智能定时播放系统
学生姓名常成
学号1204091034
专业班级12软件工程
指导教师张贯虹、胡春玲
2014 年 1 月
目录
一:公司智能定时播放系统的功能需求分析******************** 二:E—R的关系模型实体化********************************* 三:设计的系统的主要功能********************************* 四:操作说明书******************************************** 五、参考文献**********************************************
一:公司智能定时播放系统的功能需求
某公司的广播系统采用人工操作方式,为节约成本和提高工作效率,急需要开发一套智能的软件来代替手工重复操作,本设计要求开发《公司智能定时播放系统》,本着智能,无为职守为原则,实现真正意义上的广播系统智能化。
该开发系统的设计主要用于实现以下几个功能:
(1)音频选择:主要是通过选择驱动器进行歌曲的搜索,完成后可以选择歌曲进行试听,若可以停止试听并选定。
(2)定时设置:主要实现的是音频的开始时间,结束时间的设定并把广播名称,是否自动播放,广播的编号信息添加进数据库。
有一个先决条
件就是在停止定时播放的时候才能启用添加数据库的操作,否则的
话,添加数据会出现异常。
(3)歌曲库管理:主要实现的是浏览整个曲目的设置情况并有删除记录和更新数据库记录的功能。
(4)后台管理:主要实现的是对数据库的操作,只有拥有密码时才能启用此功能。
因为考虑到如果用户对歌曲库添加了太多记录,并且这些记
录又没有用了,则可以用到后台进行管理,一次性清除数据库中的所
有记录。
(5)密码管理:此功能主要是为了防止操作人员没有注意而关闭本系统,这样会影响到整个公司正常运作。
故增加了密码提示退出的功能,并
可修改密码。
(6)定时关机:主要实现计算机的定时关机功能。
当开始本系开始键进行关机设定,时间到时会有10秒钟的提示停止关机,若不停止则自动
关机。
(7)音量控制:主要是对现在播放的音量进行调整。
(8) 媒体播放器的核心功能通过JMF(Java Media Framework)API实现。
JMF 扩展了J2SE平台的多媒体能力,实现Java应用和Applet截取、回放、转换包括音频和视频在内的多种媒体。
(9)使用说明:主要介绍怎么使用本软件。
二:E—R的关系模型实体化
三、公司智能定时播放系统的设计
1、登陆模块(Login.java)
输入管理员的姓名和密码,点击登陆,会调用类(LoginFrame.java)将输入的信息与数据库中记录的管理员信息进行比较,如果匹配则进入主界面(MediaPlayer.java),否则提示用户名或密码错误,并可重新输入信息。
2、包含了一个菜单和一张图片,点击下拉菜单项就会发生ActionEvent事件,实例化各个类的对象,弹出不同的选择界面。
3、歌曲运行界面
在主界面中点击菜单文件,得到三个菜单项,选中打开文件这一菜单项,得到一个音乐播放的窗口,选择一个歌曲进行试听,可以进行音量大小的控制(包括静音),和进行暂停设置,可以观看到音乐总共运行所需时间以及目前运行了多长时间.
4.定时关机系统(CtrWDS.java)
主要实现计算机的定时关机功能,在主界面的定时菜单下有一个定时关机这一菜单项,点击后就会弹出一个界面,可以进行对定时关机的时间的设置!
5、歌曲的查看,删除,添加界面(MusicFrame.java)
在该类中主要实现的是浏览整个曲目的设置情况并有删除记录和更新数据库记录的功能,主要的是对歌曲的管理(通过连接数据库)
(1)查看,修改,删除界面:
(2)后台管理增添一个添加功能:
6、删除歌曲
点击删除按钮触发一个事件,弹出一个删除对话框,在查看中选择一个编号,输入到歌曲编号中,然后点击删除,弹出确认对话框,点击确认则删除此歌曲了.
7.添加歌曲
点击添加按钮触发一个事件,弹出一个添加对话框,在查看中选择一个编号,输入到歌曲编号中,还要输入正确的歌曲名称然后点击添加,弹出确认对话框,点击确认则添加
了此歌曲
8、密码管理:
此功能主要是为了防止操作人员没有注意而关闭本系统,这样会影响到整个公司正常运作。
故增加了密码提示退出的功能,并可修改密码。
点击推出主界面,将会进入一个新的界面(退出系统),必须输入正确的密码才能退出界面,否则将返回原来的主界面.
三、调试及测试
(1)、设计中遇到的问题及解决方法
开始设计时我觉得这个题目涉及的方面比较多,所以决定首先设计出一个大概的框架,将所要求的任务的界面设计出来,然后再各个模块的进行细化。
系统设计结束后,在调试的过程中,出现了很多问题,后来经过多次的调试、修改得到了现在较好的管理系统。
1、运行时出现过些不该出现的错误,如:没有添加语句:setVisible(true);
使得界面始终无法显示,后来察觉到犯了这个错误。
2、曾经出现了程序调试为出错而界面没有显示,有的是因为传递的参数格式
不正确,也有因为修改过后而忘记了其他类中调用该类所用的参数,所以
运行时会出错。
3、修改某个模块后或调用某个模块时,发生按钮不能按预期实现功能的情况,
后面经过检查讨论后找出了错误的原因,实现了系统的运行。
4、修改了程序而未编译导致了程序修改未实现,界面无法显示;
5、在查询出现的显示所有信息界面时,该界面显得有些呆板,表格的使用不
是很熟练,因此也不知道如何改正,由于信息内容较多,之前出现信息无法完整的显示,后来通过参考例子及课本,就想到利用滚动面板的滚动条来缩小界面的大小,结果比之前的要整洁很多。
6、每写一个界面时都会很烦,添加的组件太多,使用很多Panel显得很乱,
而且不容易掌握,后来看到一个例子,就使用Box布局,简单而且很工整,不必因为调整界面大小担心会变得很混乱。
7、编写程序时我遇到的最大最烦的问题是与数据库链接,经常出现错误,因
为某些很小的细节没有链接上,比如说空格,虽然只涉及到的数据库语句就几个,还是花了很长一段时间来摸索,现在可以自如的运用了,出现错误也知道如何去修改了。
8、这个程序涉及的方面很多,也就是说会用到很多重复的模块,刚开始设计
框架的时候我是分别设计的,后来发现太繁琐了就将某些模块合并了,自然也出现了一些问题,比如查询数据库的时候,查询方式、表名都不可能完全一样的,刚开始束手无策的,也想了很长时间,跟同学讨论了这个情况,用条件语句及参数传递方式解决了这个问题,发现讨论问题也是解决问题的好办法。
(2)、设计的体会
公司智能定时播放系统的设计查资料和写代码用了很长时间,修改了很多次,有些功能虽然想到了但是却不知道如何才能实现,刚开始也上网下了一个程序,就想照着那个界面设计,慢慢的就知道了需要做些什么实现哪些功能,期间也学会了如何布局才会更整洁些。
这个系统中的很多模块之间都是有关联的,要全面兼顾到是很费时间的,所以在编程之前就应该有个整体的规划以及细节方面的考虑,需要用到什么、某个问题需要使用什么方法解决、哪些事件可以归为一个类来实现,在心里大概有个框架,然后再根据熟悉的思路分模块的实现整个系统的功能,这让我学会了做一件事情之前要有计划,否则会事半功倍。
JAVA编程我最熟悉的只有界面的编写、图片的加载了,数据库的链接及显示数据库显得难了,企业人事管理系统的编写大概一半都会涉及到数据库,因此我也花了很长时间来看书,有时候就是觉得写的跟书上一样,甚同一句数据库语句在不同的地方出现的结果不一致,真的觉得莫名其妙了。
被纠缠了一个多星期之后,终于明白了大概,数据库语句很严谨,一点都不能忽视,尤其是空格和双引号,经过仔细阅读将这个大难题解决了,感觉挺有成就感的。
另外一个问题:将数据库表中的内容转换成表格的形式显示出来。
虽然有JTable 类,但是我觉得那样显示出来不好看而且也不是很方便,因为需要显示的内容很长,通过查类库发现可以将表格添加在滚动面板中,这样就不会显得很呆板了。
做完设计之后发现现在的水平太低了,下载了别人写的根本不是一个档次的,设计方法和思维严谨程度都不是很好,经常在运行的时候会发现一些错误,然后就用不少的时间来完善,书到用时方恨少就是这样了,最后这个程序还是被我给编出来了,虽然不是很好,但是很尽力了。
四、使用说明
根据界面的提示操作即可。
操作简单易懂!
五、编写的代码
参考文献
[1] 吕凤羽、马皓《JA V A程序设计》清华大学出版社
[2] 耿祥义《JA V A课程设计》清华大学出版
[3] 黄小东《Java课程设计案例精编》中国水利水电出版社
[4] 印旻《Java与面向对象程序设计》清华大学出版社
[5]高林,周海燕.《管理信息系统与案例分析》人民邮电出版社。