Java项目设计报告

合集下载

实验报告(二)

实验报告(二)

北京信息科技大学信息管理学院实验报告课程名称java程序设计实验项目实验二类和对象实验仪器PC、jdk、jcreator专业_______ _________班级/学号________ ___学生姓名_______ __________实验日期实验地点成绩_______________________指导教师_____李春强_____________return p;}int getPower(int q){return q;}}Lab2_2:public class TV {void play(){System.out.println("正在播放动物世界");}}public class Family {TV homeTV;void buyTV(TV tv){tv=this.homeTV;System.out.println("购买一台电视");}}public class MainClass {public static void main(String args[]){ TV haierTV=new TV();Family zhangsanFamily =new Family();zhangsanFamily.buyTV(haierTV);haierTV.play();}}Lab2_3:public class Land {public static void main(String args[]){ Village.WaterAmount=200;System.out.println("水井中有水"+Village.WaterAmount+"升");Village v1=new Village();Village v2=new Village();int m=50;System.out.println("v1从水井中取水"+m+"升");v1.WaterAmount-=m;System.out.println("v2发现水井中有水"+Village.WaterAmount+"升");System.out.println("v2从水井中取水"+m+"升");v2.WaterAmount-=m;System.out.println("v1发现水井中有水"+Village.WaterAmount+"升");}}public class Village {public static int WaterAmount;}Lab2_4:import wukong.xiyou.*;public class SunRise{public static void main(String args[]){SquraEquation sq=new SquraEquation();sq.getRoot(100);System.out.println("此数的平方根为"+"sq.getRoot()");}}package java.wukong.xiyou;public class SquraEquation{public double getRoot(double num){ return Math.sqrt(num);}}1.实验名称、实验目的、实验内容、实验要求由教师确定,实验前由教师事先填好,然后作为实验报告模版供学生使用;2.实验准备由学生在实验或上机之前填写,教师应该在实验前检查;3.实验过程由学生记录实验的过程,包括操作过程、遇到哪些问题以及如何解决等;4.实验总结由学生在实验后填写,总结本次实验的收获、未解决的问题以及体会和建议等;5.源程序、代码、具体语句等,若表格空间不足时可作为附录另外附页。

java语言程序设计实验报告

java语言程序设计实验报告

java语言程序设计实验报告
《Java语言程序设计实验报告》
实验目的:通过本次实验,学生将学会使用Java语言进行程序设计,掌握Java
语言的基本语法和编程技巧,并能够编写简单的Java程序。

实验内容:本次实验主要包括以下内容:1. Java语言的基本语法和数据类型;2. Java程序的输入输出;3. Java程序的流程控制;4. Java程序的函数和类的定义;
5. Java程序的异常处理等。

实验步骤:1. 阅读相关的Java语言教材和资料,了解Java语言的基本概念和
语法规则;2. 编写简单的Java程序,包括输入输出、流程控制、函数和类的定
义等;3. 调试和运行编写的Java程序,查看程序的运行结果;4. 对程序进行优
化和改进,提高程序的效率和性能。

实验结果:通过本次实验,学生将能够熟练掌握Java语言的基本语法和编程技巧,能够编写简单的Java程序,并能够运用Java语言解决实际的问题。

实验总结:通过本次实验,学生将对Java语言有了更深入的了解,掌握了Java
语言的基本概念和编程技巧,能够独立编写简单的Java程序。

同时,学生也将
培养了良好的编程习惯和解决问题的能力,为今后的学习和工作打下了良好的
基础。

结语:通过本次实验,学生将能够熟练掌握Java语言的基本语法和编程技巧,
为今后的学习和工作打下了良好的基础。

同时,也希望学生能够在今后的学习
和工作中不断提高自己的编程能力,为科技创新和社会发展做出更大的贡献。

java课程设计报告【范本模板】

java课程设计报告【范本模板】

南京晓庄学院《JAVA程序设计》课程设计报告题目: ATM系统的设计与实现姓名:黄强学号:14131609班级: 14计算机转本2班指导教师:徐家喜完成时间成绩:信息工程学院2017年6月目录1摘要 (1)1.1系统开发背景 (1)1。

2系统开发的目的和意义 (2)1。

3完成的主要工作 (2)2需求分析和总体设计 (3)2.1需求分析与设计思路 (3)2。

1.1关键技术说明 (3)2。

1.2需求分析 (3)2.1.3系统设计方案与思路 (3)2。

1.4系统目录结构说明 (4)2。

2系统功能结构 (5)2.3数据库设计 (6)3详细设计 (7)3.1系统模块实现 (7)3。

1.1ATM主界面实现 (7)4系统运行结果 (11)5课程设计总结 (12)模拟ATM系统的设计与实现1摘要1.1系统开发背景随着Internet网络的迅速发展,作为电子商务的ATM自动取款系统以其方便、快捷和高效的优势,逐步成为新兴电子商务的经营模式和理念,人们已经不再是只满足于低效率的排队等待,而是渴望能充分享受网络所带来的更多的便利.ATM自动取款系统恰恰适应了如今的快节奏生活。

本文以实际ATM取款应用为北京,阐述了系统开发过程的开发方法、系统分析以及一般步骤。

本ATM系统的目的就是建立一个客户平台,用户使用此平台进行查询余额、存款、取款、转账、等业务办理。

相对于柜员操作一样的,不过ATM系统有的功能有权限设置,一些功能只有银行柜员才能进行的业务办理。

ATM取款系统的针对的用户群是使用此软件系统的用户,用户做为系统的服务群体,可以使用数据库已有的账号与密码,登陆ATM系统。

当用户成功登陆后就可以根据用户的需求进行各项业务的办理,办理完所有的手续后,用户的输入的新资料以及办理的业务处理后的信息都会反馈到数据库并且都会存入到数据库中。

这样用户就完成了办理业务。

关键词:ATM;MySQL; Java;1.2系统开发的目的和意义随着信息时代科技的飞速发展,使用ATM取款机、计算机等技术的发展,不仅提高了工作效率,而且大大的提高了其安全性。

java实训报告(通用9篇)

java实训报告(通用9篇)

java实训报告java实训报告(通用9篇)在当下社会,大家逐渐认识到报告的重要性,写报告的时候要注意内容的完整。

那么一般报告是怎么写的呢?下面是小编精心整理的java实训报告,欢迎大家借鉴与参考,希望对大家有所帮助。

java实训报告篇1一、实训目的1.熟练掌握Java面向对象程序设计的基础知识。

2.熟练掌握Java中常用的Swing组件的使用方法。

3.熟练掌握Java程序中图形用户界面设计的方法。

4.熟练掌握使用JDBC操作数据库的方法。

5.通过实训,培养学生分析和解决实际问题的能力,提高调试和分析应用程序的能力,并为后续Java高级编程等专业课程的学习奠定良好的基础。

二、课程设计报告内容2.1 实训内容本课程设计的题目是设计一个简化的仓库管理系统。

该系统从仓库管理人员的角度出发,实现对货物信息、生产商信息的浏览、添加、删除和查询,同时还可以对货物出货、入货进行操作和控制。

设计内容主要包括系统分析、数据库、数据表的创建、系统各个窗体的布局及其编码实现。

系统功能分析是在系统开发的总体任务的基础上完成的。

该管理系统需要完成的基本功能主要有:用户管理:主要包括用户的添加、修改和删除。

供应商管理:主要包括供应商的添加、删除和修改。

产品管理:主要包括产品的添加、删除和进货、出货。

产品视图管理:主要包括产品查询、数据文件的导入、查询结果集的导出。

2.2 实训设备或软、硬件硬件:PⅣ及以上性能的PC机;软件:Windows 20xx或Windows XP系统;JDK工具;JCreator4.0环境2.3 功能设计及思想本次实训设计采用选择结构化开发方法,即用系统工程的思想和工程化的方法,按照用户至上的原则,自顶向下整体分析与设计和自底向上逐步实施的系统开发过程。

是组织、管理和控制信息系统开发过程的一种基本框架。

其基本思想:在系统分析时,采用自顶向下、逐层分解,由抽象到具体的逐步认识问题的过程;在系统设计的时候,先考虑系统整体的优化,再考虑局部的优化问题;在系统实施的时候,则坚持自底向上,先局部后整体,通过标准化模块的连接形成完整的系统。

java课程设计报告

java课程设计报告

java课程设计报告随着Java言的不断发展,越来越多的编程人员开始使用 Java开发应用程序,这就催生出了一种新的课程 Java程设计。

本文旨在通过总结 Java程设计的过程及其相关知识,以便于编程人员以及研究者对 Java程设计有一个更深入的了解。

首先,要完成 Java程设计,需要了解 Java语言特性和编程工具。

这里不仅要掌握 Java言本身的知识,还要熟悉 Java架和测试框架,这样才能开发出能够完成各种任务的应用程序。

此外,学习Java程设计的人还需要具备一定的网络知识,这样可以更好地了解Java程设计的用途,以及 Java发的环境,否则,将很难完成 Java程设计。

其次,要开始 Java程设计,设计人员要先明确设计内容,比如要设计的应用程序的功能、界面要求等,还要考虑安全性、可维护性等方面,以确保设计出来的程序在实际应用中能够如预期般完成任务。

之后,设计人员就可以根据设计内容,编写 Java序,实现功能。

此时,设计人员要根据需求分析,合理安排代码结构,并确定需要用到的类库和技术;同时,实现功能时也要注意代码质量,要遵守 Java 程的规范,要避免出现内存泄漏等问题。

最后,在完成 Java程设计之后,设计人员要进行测试,确保程序能够完成预期任务。

这里可以使用基于 Junit(Java元测试框架)的测试框架,测试各个类的接口和输出内容,以确保程序功能正常,做到稳定可靠。

总的来说,要完成 Java程设计,不仅要有良好的 Java言和编程工具的基础知识,还要了解 Java发的环境,还要具备一定的网络知识,最后要仔细的进行测试,确保设计出来的程序稳定可靠,才能完成 Java程设计。

总之,很明显,Java程设计并不容易,但所能学到的知识也丰富多样,对于以后的研究和工作也有很大的帮助,因此,建议编程人员考虑学习 Java程设计,来拓展自己的知识面和应用能力。

Java课程设计实验报告及全部源码流程图

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程序设计实验报告2010

Java程序设计实验报告2010
{ int a,b;
public void setab(inti, int j)
{ a=i; b=j; }
public void printab()
{ int sum=a+b;
System.out.println(“a+b=”+sum);
}
}
//B.java
packagepkg1.pkg2;
public class B
{ Exam3_6 d1=new Exam3_6();
System.out.print(”The current date is(year/month/day):”);
d1.outDate();
System.out.println( );
System.out.print(”Its tomorrow date is(year/month/day):”);
{ A x=new A();
A y=new A();
x.setab(5);
y.setab(10);
System.out.println(“x.a=”+x.geta()+”,y.a=”+y.geta());
x.setb(-5);
y.setb(-10);
System.out.println(“x.b=”+x.getb()+”,y.b=”+y.getb());
Its tomorrow is (year/month/day):2000/1/2
The current date is (year/month/day):2004/1/8
Is tomorrow is (year/month/day):2004/1/9

JAVA语言程序设计实验报告

JAVA语言程序设计实验报告

实验一、安装JDK并熟悉java的运行环境实验二、基本语法练习实验三、面向对象编程实验(4)实验四、异常处理实验实验五、小应用程序实验实验六、图形图像实验实验七、GUI(图形用户接口)实验(4)实验八、多线程实验实验九、输入输出流实验(4)实验十、数据库应用实验(4)实验一、安装JDK并熟悉java的运行环境一、实验目的熟悉JA V A的运行环境及学习简单的编程。

二、预习内容安装工具软件的基本方法。

三、实验设备与环境装有JA V A语言工具软件(Eclipse )的微机若干四、实验内容安装Eclipse及JA V A的核心编译程序J2SDK。

1、打开Eclipse的安装盘安装Eclipse。

2、在相同目录下安装J2SDK。

3、打开Eclipse软件对J2SDK文件进行配置。

4、编写一应用程序,在屏幕上显示“HELLO WORLD”和爱心标志。

Pulic class Hello{public static void main(String args[]){//在屏幕上显示“HELLO WORLD”和爱心标志}}5、编写一小程序实现上述功能:在屏幕上显示“HELLO WORLD”和爱心标志。

实验结果五、注意事项⒈认真填写实验报告⒉遵守实验室各项制度,服从实验指导教师的安排⒊按规定的时间完成实验六、说明本次实验建议学时数2学时七、实验总结与体会实验二、基本语法练习一、实验目的⒈熟悉Java的基本语法⒉编写应用程序接收命令行参数⒊编写应用程序接收用户从键盘的输入⒋掌握字符串与数组的基本方法二、预习内容java编程的基本结构三、实验设备与环境装有JA V A语言工具软件(Eclipse )的微机若干四、实验内容⒈编写一个应用程序求若干个数的平均数,原始数字要求从命令行输入。

应用程序中main方法的参数String类型的数组args能接受用户从命令行键入的参数。

(1)编辑A verage.java。

class A verage{public static void main(String args[ ]){double n,sun=0;for (int l=0;l<args.legth;l++){sum=sum+Double.valueOf(arg[l].doubleV alue();)}n=sum/args.length;System.out.println(“average=”+n);}}命令行参数:12.34 34.45 21212121注意:1)参数的个数可以利用args.length来取得。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ExamServiceImp功能接口
IdOrPwdException异常申明
上面介绍了各个类的具体方法,接下来介绍一下各个类之间的调用和依赖关系:
下面就对上图的几个重要的类做个详细设计的说明:
1.服务器线程类
服务器的线程类,是服务器主类的一个内部类,只是作为一个服务的类,不需要对外公开,所以只是设在一个服务器类的内部,当服务器的运行到监听套接字监听客户端是否发送连接请求,程序就暂停,一直到有连接请求才会继续运行下去,程序会创建一个服务进程与之连接为之服务,只适合会运行run()方法,判断客户端发送的请求类型,来判断调用哪个方法,然后向客户端发送与之对应的数据给客户端处理。下面详细解释运行过程:
步骤:
1,在初始化init()方法中是个while()死循环,不断的监听客户机的套接字连接请求,当有连接请求的时候就继续运行。
2,新建一个服务线程,这个服务线程继承自线程类,直接调用start()方法,让服务进程直接运行起来,这样,服务线程就与客户机连接起来了。
3,服务线程首先是创建一个输出流,准备给客户机发送数据,然后就是一个while()死循环,不断地从流中读取数据,一读取到数据就要判断请求类型。另外,在服务器的控制台中,在每个用户连接过程中给服务器发送数据请求,服务器将在控制台即时输出连接请求的信息,还有用户的请求情况,这主要是显示服务器即时监控的效果。其实不输出信息也是没有关系的。
另外要说一下就是,客户机通过IP地址和端口号进而与服务器之间进行连接进行数据通信。同时一个客户机只能与一个服务器进行连接,而一个服务器会与很多个客户机建立连接,服务器的每一个线程对应着一个客户机的连接的进程。
二、详细设计
前面已经介绍说,在线考试系统主要的就是两个重要的部分,服务器部分和客户机部分,另外还有一些实体类和一些工具类,下面就按照包得结构详细的介绍一下在线考试系统的设计:
在客户机这边,我们只需要考虑一个线程就行了,所以这里我们只要四个类,其中有三个是窗口类,另一个是与服务器线程连接的类,这个连接类是作为三个窗口类的一个属性,用于三个窗口与服务器之间发送数据用,三个窗口也只能通过这个连接类与服务器之间进行通信,这三个窗口是依次通过这个连接类与服务器进行通信的。这样这个客服器的整体设计也就出来了。
ExamInfo存放用户信息
User存放用户信息
4.在线功能类
ExamServer服务器
ExamServerAgent在线功能实现类
Request请求类
Response回应类
ServerStart服务器启动
Util系统工具类
5.入口
ClientMain入口
6.功能实现类
ExamService考试功能实现类
4,学生交卷后,系统自动计算分数,并且以弹出消息框的形式告诉用户交卷成功,并且显示考试分数。
之后,学生只能点击退出,退出考试。
1.服务器流程图
2,客户端的Client流程图
三、运行截图
四、部分代码
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
在整个系统中,我们会涉及到两个类,一个是试卷类,另一个是学生类,试卷类中有个属性就是问题类,这两个类的信息,都是以配置文件的形式保存在文件中,我们可以使用工具类进行读取他们。
(三)设计思路
在这里我们就以服务器与客户端之间的连接为中心,简单说一下这个考试系统的搭建过程。
首先,服务器需要启动,服务器需要读取配置文件,这里我们就需要将所有的试卷题目以规定的格式写在一个配置文件中,把所有的学生信息写在另一个配置文件中,服务器需要试卷信息,所以定义试卷类,题目类,以及学生类,因为服务器与客户机之间需要有数据的请求,而且分为多于一种的请求类型,这里我们有连接请求,发送试卷请求,答题请求,所以我们定义一个请求类,这个服务器还需要不断地从磁盘文件中读取信息,所以为了减少代码量,我们这里需要几个工具类,一个是创建套接字的连接,另一个就是读取题目配置文件的题目的工具类。这样服务器的基本框架已经出来了。
8,如果静态常量4,就表示学生要退出考试的界面,这时候,客户端关闭,服务器接收到退出请求之后,就要直接跳出循环,然后关闭与之连接的流和套接字连接。
9,经过以上几个步骤,学生在线考试过程全部结束。
2.客户端窗口类
客户端窗口类,主要是让用户直接在指定的地方输入信息,然后进入在线考试过程,这里,首先是让学生输入信息,确认身份,主要的是学号和密码,然后就是选择科目,最后进入考试界面,最后交卷,退出,这几个以窗口形式呈现给用户的,下面主要介绍程序的运行过程:
而客户端这边,我们通常就是向服务器发送请求,服务器相应我们的请求,从而完成服务器与客户端之间的通信。
在客户端与服务器之间,我们要掌握服务器的套接字编程技术和客户端的套接字编程技术。
(二)项目描述
这里主要介绍一下学生在线考试系统,学生在线考试系统主要是学生通过客户机登陆自己的账号,然后完成课程科目的考试过程,这当中没有任何纸质的试卷出现,全部都是以网路形式完成考试。
publicvoidsetentitycontext(EntityContext entitycontext) {
this.entitycontext=ublicUser login(intgetid, String getpwd)throwsIdOrPwdException{
User use =entitycontext.getuser(getid);
if(use==null){thrownewIdOrPwdException("该用户不存在!");}
if(!use.getPwd().equals(getpwd)){thrownewIdOrPwdException("密码不正确!");}
4,判断请求的类型,这个要使用到一个Request请求类里面的四个静态常量,这里使用到一个switch case语法,来匹配所要调用的方法。
5,如果静态常量是1,也就是login_request,程序就调用login()方法,login()方法,主要的就是发送学生信息和选择考试科目的链表给客户端程序,login调用完成后,就进入下一个循环,继续监听流中的数据请求。
学生在线考试系统主要分成两个部分,一个是服务器部分,另一个则是客户机部分,服务器与客户端之间是以通过网路连接起来的,服务器的一个线程与一个客户机是连接着的。
在服务器部分,服务器先启动,先是读取配置文件,然后将试卷信息读取到服务器中,还要读取学生的信息,学号,姓名,密码,都要读取到服务器中,对于这些信息的读取,将会被封装在其他的类中,然后才是等待客户端发送数据连接请求,一旦发现有请求,就创建一个服务线程与之保持连接,等待考试完成的数据请求发送过来,才断开连接,在这其中服务器是一直处于监听客户端请求连接的运行状态。在整个运行过程,服务器都是以控制台程序运行。
er=use;
er;
}
List<QuestionInfo>allquestions=newArrayList<QuestionInfo>();
@Override
publicExamInfo createpaper() {
Random r=newRandom();
1.界面类
LogFrame登录界面
MenuFrame菜单界面
ExamFrame考试界面
Zhuce注册界面
Welcome闪屏
2.解析配置文件类
Config解析配置文件类
3.数据存放类
EntityContext封装数据到Question和User
Question存放题目信息
QuestionInfo存放题目及对应用户答案
importcom.tarena.elts.entity.Question;
importcom.tarena.elts.entity.QuestionInfo;
er;
importcom.tarena.elts.ui.Guize;
importcom.tarena.elts.ui.Zhuce;
步骤:
1,首先,用户启动客户端程序,程序进入用户登录的界面,用户必须输入正确的学号和密码才能进入到选择学科的界面,如果用户的学号或者密码错误,将以弹出的对话框的形式提醒用户从新输入信息。
2,用户输入成功信息,则表示登录成功,然后就进入到选择科目的界面,用户选择所需要的考试科目,点击确定。
3,之后,用户就进入到考试界面,在窗口上回看到学生的信息,中间是选择题的第一题,可滚动面板要设置成不可操作,同时,开始时间的倒计时,学生必须在规定的时间内选择将所有的考题做完,不然,系统将会自动交卷,到时,选项将不可操作。
6,如果是静态常量2,就要调用begin方法,程序调用begin方法,根据发送过来的选择的课表信息,就会向客户端发送相应的考试题目,以链表的形式发送,然后就继续进入下一个循环监听。
7,如果是静态常量3,就会调用交卷信息的send()方法,这个方法不需要向客户端发送数据信息,这个请求是告诉服务器,学生考试完成,要求将分数写入到磁盘文件中,调用完成后继续监听。
客户端部分,则是比较简单,因要给学生操作,所以,为了方便操作,这里用到了图形界面的操作,这里一共有三个部分的界面,第一个就是学生登录的界面,学生要输入学号和密码登录服务器,第二个就是学生选择考试科目的界面,这里呢,要先将前面一个窗口销毁,然后再创建新的窗口,第三个就是学生考试界面的窗口,这个窗口稍微复杂点,涉及到许多东西,这里在第三个窗口创建之前也是要先销毁第二个窗口。最后用户点击交卷完成考试过程,并且显示得分,左后关闭窗口,服务器同时要断开连接,线程结束。在这个三个窗口中,必须要有个连接与服务器保持连接,这里我们是将其划分成一个类,并且作为是哪个窗口的一个属性,当一个窗口被销毁,另一个窗口被创建时候,这个属性就要传送个另一个窗口使用。
相关文档
最新文档