安徽工业大学——java实验报告
java实训报告(精选5篇)
java实训报告(精选5篇)java实训报告1作为就业培训,项目的好坏对培训质量的影响十分大,常常是决定性的作用。
这篇__是关于在学习java软件开发时练习项目的总结,简单总结为以下几点:1、项目一定要全新的项目,不能是以前做过的2、项目一定要企业真实项目,不能是精简以后的,不能脱离实际应用系统3、在开发时要和企业的开发保持一致4、在做项目的时候不应该有参考代码长话短说就是以上几点,如果你想要更多的了解,可以继续往后看。
一:项目的地位因为参加就业培训的学员很多都是有一定的计算机基础,大部分都具备一定的编程基础,尤其是在校或者是刚毕业的学生,多少都有一些基础。
他们欠缺的主要是两点:(1)不能全面系统的、深入的掌握某种技术,也就是会的挺多,但都是皮毛,不能满足就业的需要。
(2)没有任何实际的开发经验,完全是想象中学习,考试还行,一到实际开发和应用就歇菜了。
解决的方法就是通过项目练习,对所学知识进行深化,然后通过项目来获取实际开发的经验,从而弥补这些不足,尽快达到企业的实际要求。
二:如何选择项目项目既然那么重要,肯定不能随随便便找项目,那么究竟如何来选择呢?根据java的研究和实践经验总结,选择项目的时候要注意以下方面:1:项目不能太大,也不能太小这个要根据项目练习的阶段,练习的时间,练习的目标来判断。
不能太大,太大了做不完,也不能太小,太小了没有意义,达不到练习的目的。
2:项目不能脱离实际应用系统项目应该是实际的系统,或者是实际系统的简化和抽象,不能够是没有实战意义的教学性或者是纯练习性的项目。
因为培训的时间有限,必须让学员尽快地融入到实际项目的开发当中去。
任何人接受和掌握一个东西都需要时间去适应,需要重复几次才能够真正掌握,所以每个项目都必须跟实际应用挂钩。
3:项目应能覆盖所学的主要知识点学以致用,学完的知识点需要到应用中使用,才能够真正理解和掌握,再说了,软件开发是一个动手能力要求很高的行业,什么算会了,那就是能够做出来,写出代码来,把问题解决了,你就算会了。
Java实验报告指导书
《Java程序设计》实验报告书专业班级:软件工程153班学号:**********名:**指导老师:***安徽工业大学计算机科学与技术学院2017年11月实验一抛物线轨迹计算根据一个给定的初始速度v(单位:米/秒)以及一个与水平线相交的发射角θ(单位:度) ,计算物体运动的轨迹。
要求完整输出物体在空中运动的等时间间隔分布的N行飞行数据记录。
假设物体在空间飞行共需要t秒,则需要输出如下:假设物体的起始坐标为(0,0),且当物体高度为0时立即停止运动。
1、实验目的掌握Java编程环境的搭建过程;掌握eclipse软件创建Java项目的过程;熟悉Java的基本语法;锻炼采用程序编码解决实际问题的能力。
2、实验内容和步骤(1).实验内容:(2).实验步骤:3、实验结论抛物线并不算一个太难的问题,实现的方法也很多,但需要对命题及数据要有一定理解之后才比较好做,同时答辩时老师也提出了几个有趣的小问题,以及要求做一些小的改动,解决之后对课程的学习有很大的帮助,能用基础知识做一些改动的能力是很重要的。
4、程序清单实验二排序算法创建学生类,包含两个属性:姓名和学号。
给出构造函数,输入参数为学生学号,限制为整型类型,范围在[0,999]之间。
姓名由3位字符组成,由该学生的学号采用线性映射的方式获取得到,线性映射函数为:f([0−9])=[A−J],详情见表1。
若学生的学号为483,则对应的姓名表示为:“EID”。
表1 学生姓名获取函数映射表要求输入一个范围在[0,999]之间的整数n,通过随机产生的方式生成n个满足上述要求的学生对象。
并按照以下三种不同的排序方式完成所有对象的顺序输出:(a)按照学号的大小顺序完成顺序输出,即给出两个学生s和t,对应学号分别为:m和n,若满足n<m,则要求先输出t后输出s;(b)按照学生对应学号的十位、个位、百位的大小优先顺序完成顺序输出,即给出两个学生s和t,对应学号分别为:m和n,若m的十位数大于n的十位数,则先输出m,若两者相等,再比较m和n的个位数,相应小的对象先输出;若两位学生的十位、个位均相等,最后比较两个学号的百位数,相应小的先输出。
java实习报告模板(精选9篇)
java实习报告模板(精选9篇)java实习报告模板篇1毕业实习是学生大学学习阶段重要的实践性教学环节之一,通过实习学生将进一步了解社会,增强对社会主义现代化建设的责任感,使命感.实习期间,要求学生对企业(事业)单位的软件设计工作进行业务实践,使学生通过实习做到理论联系实际,充实和丰富所学的专业理论知识,培养发现问题,分析问题和解决问题的能力,为毕业后从事软件设计工作打下基础。
毕业实习有着它深刻的意义,也是大学生必经的体验,感谢学校能给我们提供机会,也感谢公司为我们提供条件。
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。
Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
而我们现在学习Java是我们课程中的必修课程,更是找一份好工作的必备技能,虽然实习为期才一周,但是给我们增长很多见识,了解了大型软件开发的过程。
也学习了很多软件开发时一些技巧,更重要的是这次实习抛开了以前老师讲学生听的模式,这次老师边讲边带领我们编写程序,让我们能让学到的知识迅速巩固。
在中国软件专业人才培养工程(CSTP),北京智原教育基地。
为期5天的培训我们熟练掌握基于java的Android主流3G开发技术,能够独立完成从手机终端到服务器端完整开发方案。
使得能够掌握android相关领域基础知识,学会开发Android手机应用系统;掌握手机开发要点;培养基本的编程感觉。
在这5天时间里,我们学习了Android开发环境的搭建实现基于Android4.2 SDK的开发环境,理解DDMS等常用Android手机开发工具Android中Activity 的基本应用了解Activity对于手机UI界面的关系,实现项目的UI界面的设计,理解Android开发中的resource各种资源Android的常用组件熟悉Te_tView、EditTe_t、Spinner、ListView等常用组件,实现基本功能。
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 编程语言的基本概念、语法结构、面向对象编程的思想以及常用类库的使用。
同时,培养我们解决实际问题的能力和编程思维,提高代码的质量和可读性。
二、实验环境1、操作系统:Windows 102、开发工具:IntelliJ IDEA3、 JDK 版本:18三、实验内容(一)基本语法练习1、数据类型与变量在 Java 中,我们学习了不同的数据类型,如整数类型(`int`、`long`)、浮点数类型(`float`、`double`)、字符类型(`char`)和布尔类型(`boolean`)。
通过定义和使用这些变量,我们能够存储和操作各种类型的数据。
```javaint age = 25;double salary = 500050;char grade ='A';boolean isStudent = true;```2、控制结构包括条件语句(`ifelse`、`switch`)和循环语句(`for`、`while`、`dowhile`)。
这些控制结构使我们能够根据不同的条件执行不同的代码块,或者重复执行一段代码。
```javaint num = 10;if (num > 5) {Systemoutprintln("Number is greater than 5");} else {Systemoutprintln("Number is less than or equal to 5");}switch (num) {Systemoutprintln("One");break;case 10:Systemoutprintln("Ten");break;default:Systemoutprintln("Unknown");}for (int i = 0; i < 5; i++){Systemoutprintln(i);}int count = 0;while (count < 3) {Systemoutprintln("Count: "+ count);count++;}count = 0;Systemoutprintln("Count: "+ count);count++;} while (count < 3);```(二)面向对象编程1、类与对象创建了自定义的类来表示现实世界中的实体。
安徽工业大学软件工程实验报告
《软件工程》实验报告姓名:胡成柱学号:4班级:计算机科学与技术122指导老师:周兵日期:2015年05月一.实验目的1.能按照软件工程的思想,采用面向过程的方法开发出一个小型软件系统。
2.在软件系统开发过程中,能综合利用一门编程语言和软件工程等多门课程的知识。
3.培养良好的软件开发习惯,了解软件企业文化。
4.掌握结构化数据流分析技术。
5.掌握结构化程序设计的基本概念与技术,并且养成良好的编码风格。
6.掌握单元测试的一般步骤及技术。
7.掌握集成测试的一般步骤和技术。
二.实验内容1.软件需求分析①、功能需求分析·输入一个年份(1-3000),然后显示12个月的月历·能解决闰年和平年问题·能输出显示结果②、运行需求分析·操作系统: Windows9x, Windows2000, Windows XP及更高版本③、数据流图软件结构图:2.软件设计与编码#include <>#include <>#include <>#include <>#define firstdayof1 1/* 定义第一年的第一天,星期日=7 */#define gap " "/* set gap between numbers of dates */#define dent " "/* set right margin. */struct info {int month;int firstdayofmonth;int daysofmonth;int leap;}monthinfo;int checkinput(void);int inputyear(void);int isleap(int y);void output(struct info);void printhead(struct info );void printmonth(struct info);struct info setinit(int);struct info setmonthinfo(struct info );/* 这个作用是判断年, 如果是闰年, return 1, 否则return 0 */int isleap(int y){return ((y%4==0 && y%100!=0) || y%400==0);}/* This module is to accept inputyear() and check if it is correct.if it iscorrect it return int year, otherwise ask user reenter */int checkinput(void){int y;do{y=inputyear();if(y<1 || y >3000){printf("\n输入错误!。
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实验报告
实验一:实验目的●学习下载最新版本的JDK。
●学习安装与设置JDK运行环境。
●解决JDK开发环境配置中的常见问题。
实验二:实验目的●了解Java应用程序的结构。
●学习Java应用程序源程序的编辑。
●学习Java源程序的编译。
●学习Java应用程序的运行。
●学习解决Java源程序编译过程中的常见问题。
实验要求编写一个比较简单的Java应用程序,该程序将会在命令提示符窗口下输出一句话:Java 世界欢迎你!实验三:实验目的●了解Java小程序的结构。
●学习Java小程序的编译、运行。
●了解Html语言中的Applet标签。
实验四:实验目的●学习标识符的命名规则。
●学习基本数据类型变量的声明。
●学习基本数据类型变量的初始化。
●明确局部变量使用前初始化的意义。
●学习常量的使用。
实验要求编写一个Java 程序,在程序中声明各种基本数据类型的变量,对它们进行初始化,再显示它们各自的值;定义一个双精度数据类型的常量,并显示它的值。
实验五:实验目的●学习算术运算符中的求模运算。
●学习算术运算符中的自增运算。
●学习算术运算符中的自减运算。
实验要求编写一个Java 程序,在程序中进行求模运算、自增和自减运算。
实验五:实验目的●学习算术运算符中的求模运算。
●学习算术运算符中的自增运算。
●学习算术运算符中的自减运算。
实验要求编写一个Java 程序,在程序中进行求模运算、自增和自减运算。
实验六:实验目的●学习算术运算符中的整数除法。
●学习算术运算符中的浮点数除法。
●学习算术运算符中的整数与浮点数混合除法。
实验要求编写一个Java 程序,在程序中进行整数除法、浮点数除法和整数与浮点数混合除法运算。
实验七:实验目的●学习逻辑运算符中的与运算。
●学习逻辑运算符中的或运算。
●学习逻辑运算符中的非运算。
实验要求编写一个Java 程序,在程序中进行与运算、或运算和非运算。
实验八:实验目的●学习字符串转换为数值型数据的方法。
●学习数值型数据转换成字符串的方法。
大学生java实训总结报告6篇
大学生java实训总结报告6篇篇1一、实训背景与目标本次Java实训旨在通过实践操作,加深大学生对Java编程语言的理解与掌握,提高实际项目开发能力。
在为期一个月的实训期间,我们小组围绕Java SE基础、Java Web开发、数据库操作等内容进行了系统学习和实践。
通过本次实训,我们期望达到以下目标:1. 深入理解Java核心技术与编程思想。
2. 掌握Java Web开发的基本流程和关键技术。
3. 学会使用至少一种数据库进行Java程序与数据库的交互。
4. 具备一定的项目开发和团队协作能力。
二、实训内容与过程1. Java SE基础实训在实训初期,我们重点复习和巩固了Java SE基础知识,包括数据类型、运算符、流程控制、面向对象编程等。
通过编写简单的控制台程序,我们实践了异常处理、集合类、泛型以及多线程编程。
2. Java Web开发实训随后,我们转向Java Web开发的学习。
通过学习和实践,掌握了基于Servlet和JSP的Web开发技术。
同时,学习了HTML、CSS和JavaScript等前端技术,并练习了前后端数据的交互。
此外,还了解了MVC设计模式在Web开发中的应用。
3. 数据库操作实训在数据库操作方面,我们主要学习了SQL语言以及JDBC操作数据库的技术。
通过实践操作,我们能够在Java程序中实现数据的增删改查,并学会了使用ORM框架进行对象与数据库表的映射。
4. 项目开发实践在实训的最后阶段,我们以小组形式进行了一个小型项目——在线图书管理系统。
通过项目的开发,我们综合运用了前面学到的知识,包括Web开发技术、数据库操作等。
在项目开发过程中,我们学会了如何分工合作,如何进行有效的项目管理。
三、实训收获与体会1. 提升了编程能力。
通过实训,我们对Java编程语言有了更深入的了解,编程能力得到了显著提高。
2. 增强了项目开发经验。
项目开发的实践让我们体验到了软件开发的流程,学会了如何在项目中运用所学知识。
java实训报告(7篇)
java实训报告java实训报告(7篇)随着社会一步步向前发展,报告的使用成为日常生活的常态,其在写作上有一定的技巧。
一听到写报告马上头昏脑涨?以下是小编收集整理的java实训报告,仅供参考,希望能够帮助到大家。
java实训报告1内蒙古商贸职业学院计算机系学生校内实验实训报告20 --20 学年第学期系部:计算机系课程名称:Java程序设计教程专业班级:内蒙古商贸职业学院计算机系制填写说明1、实验项目名称:要用最简练的语言反映实验的内容,要与实验指导书或课程标准中相一致。
2、实验类型:一般需要说明是验证型实验、设计型实验、创新型实验、综合型实验。
3、实验室:实验实训场所的名称;组别:实验分组参加人员所在的组号。
4、实验方案设计(步骤):实验项目的设计思路、步骤和方法等,这是实验报告极其重要的内容,概括整个实验过程。
对于操作型实验(验证型),要写明需要经过哪几个步骤来实现其操作。
对于设计型和综合型实验,在上述内容基础上还应该画出流程图和设计方法,再配以相应的文字说明。
对于创新型实验,还应注明其创新点、特色。
5、实验小结:对本次实验实训的心得体会、思考和建议等。
6、备注:分组实验中组内成员分工、任务以及其他说明事项。
注意:①实验实训分组完成的,每组提交一份报告即可,但必须说明人员分工及职责。
不分组要求全体成员独立完成的实验实训项目可由指导老师根据个人完成情况分组填写。
②实验成绩按照百分制记,根据教学大纲及课程考核要求具体区分独立计算、折算记入两种情况。
③本实验实训报告是根据计算机系实验的具体情况在学院教务处制的实验实训报告的基础上进行改制的。
特此说明。
成绩单组别:小组成员:篇二:实训总结实训收获总结报告学部:计算机信息学院学科门类:计算机信息类专业:计算机应用技术姓名:朱恩林学号:12310020020实习单位:北京盛威南凌信息科技有限公司指导教师:王洪钊实习时间:20xx年5月15号—9月23号一、实训目的计算机信息管理专业的java实训在教学计划中是实训、实习课程。
安徽工业大学——java实验报告
JAVE实验报告学号129074401姓名李阳班级网124指导教师柯栋梁安徽工业大学计算机学院2015年1月实验一: 利用JAVA 反射技术分析类结构自己定义的类:package chap05;public class analysis {private int a;private char c;protected int b;public double d;public void test1(){}private void test2(){}protected double test3(){return 1.0;}}用java反射技术分析输出的结果:Enter class name (e.g. java.util.Date):chap05.analysisclass chap05.analysis{public chap05.analysis();public void test1();private void test2();protected double test3();private int a;private char c;protected int b;public double d;}1.分析程序运行时的输出结果。
输出的结果中显示了被分析类的方法与变量,包括这些方法与变量的修饰符2.分析与JAVA反射技术相关的几个类的作用:ng.reflect.Constructor;Constructor 提供关于类的单个构造方法的信息以及对它的访问权限。
ng.reflect.Field;Field 提供有关类或接口的单个字段的信息,以及对它的动态访问权限。
反射的字段可能是一个类(静态)字段或实例字段。
ng.reflect.Method;Method 提供关于类或接口上单独某个方法(以及如何访问该方法)的信息。
所反映的方法可能是类方法或实例方法(包括抽象方法)。
ng.reflect.Modifier;Modifier 类提供了static 方法和常量,对类和成员访问修饰符进行解码。
java实训报告总结范文(精选3篇)
java实训报告总结范文(精选3篇)java实训报告总结范文篇1一、课程设计名称及主要内容:1、课程设计名称:时钟动画2、课程设计的主要内容:以下题目任选一个:(1)图形界面类,如科学计算器、绘图板、日历、游戏程序等。
(2)动画类,编制功能较复杂、效果较好的Applet动画程序。
(3)数据处理类,如学生学籍、课程成绩、图书编目、仓库货物等数据录入查询程序。
(4)其他类型,自选题目,须经指导老师同意。
我所选的题目是动画类的Applet动画程序,主要任务是用Java 程序设计一个时钟动画。
二、程序的设计思想和流程图:1、设计思想:现在的各种时钟花样百出,千奇百怪,功能亦是越来越先进了。
我很喜欢这些各式各样的时钟,所以希望自己也能设计出一个来。
于是,我希望自己能够用自己所学的Java知识设计出一个自己的时钟动画,即使是最简单的,但我相信这是暂时的。
只要我能够努力学好Java知识,将来一定能够设计出更好更完美的时钟动画。
2、流程图:三、程序介绍:1、设计方法及步骤:λ题目分析:根据《课程设计任务书》要求,分析题目,构造出程序的基本思路(算法设计)。
画出程序设计结构框图。
λ构造数据结构:根据程序结构框图和题目分析结果(采用算法),构造程序所用各项数据,各种窗体及他们之间的联系。
λ构造程序框架:在窗体确定之后,根据算法设计出所用各个窗体之间的调用关系。
λ程序设计:①画出程序功能框图和结构框图;②根据框图设计程序;③编译程序调试程序,使程序可以使用;④完备程序功能。
λ程序打包:所设计程序汇总,将程序分类归入相应子目录,完成程序所有设计要求。
2、完成情况:经过一系列的Java程序代码的设计,虽然过程中遇到了许多的问题,但是最终解决了所有的问题,准确的设计出了时钟动画,运行情况正常。
3、类的关系:“public class AnimatorDemo”是公共类,且是程序中的唯一的一个类。
4、构造方法、成员变量和成员方法的功能说明:“Thread timer”用于显示时钟的线程;“SimpleDateFormat formatter”用于格式化时间显示; “String lastdate”用于保存当前时间的字符串;“Font clockFaceFont”用于设置显示时钟里面的数字的字体; “Date currentDate”用于显示当前时间;“Color handColor”用于显示时针、分针和表盘的颜色; “Color numberColor” 用于显示秒针和数字的颜色; “public void init”用于设计时钟格式并捕捉异常;“public void plotpoints(int x0, int y0, int x, int y, Graphics g)”用于计算四分之一的圆弧;“public void circle(int x0, int y0, int r, Graphics g”) 用Bresenham算法来画圆,其中(x0,y0)是圆的中心,r为圆半径; “public void paint(Graphics g)”用于运行时钟程序; “public void start” applet的启动方法;“public void stop” applet的停止方法;“public void run” 线程的run方法。
java实验报告
(java实验报告)系别电子信息系专业计算机科学与技术班级学号4080116姓名翟峰实验一JDK开发工具一、实验目的1.熟悉JDK开发环境。
2.熟悉EditPlus编辑器的使用。
3.掌握Java Application的程序结构和开发过程。
4.了解Java Applet的功能与程序结构。
二、实验内容1.JDK开发环境(1)JDK1.2.1开发环境安装在“C:\JDK1.2.1\”目录下。
(2)设置环境变量PATH和CLASSPATH(如果在autoexec.bat中没有进行设置)。
进入命令行(MS-DOS)方式,进行如下设置:SET PATH=C:\JDK1.2.1\BIN;%PATH%SET CLASSPATH=.; %CLASSPATH%2.EditPlus编辑器(1)单击“开始”菜单,选择“程序”,选择“EditPlus”,单击“EditPlus”项。
(2)在“File”菜单中选择“New””建立新文件;“Open”打开已存在的文件;“Save”保存文件;“Close”关闭文件。
(3)在“Edit”菜单中选择“Undo”取消上次操作;“Redo”重复上次操作;“Cut”块剪切;“Copy”块复制;“Paste”块粘贴;“Delete”块删除。
(4)在“Search”菜单中选择“Find”查找;“Change”查找并替换。
3.掌握Java Application程序开发过程(1)打开EditPlus编辑器。
(2)键入如下程序:import java.io.*;public class HelloWorld1{public static void main(String arg[]){System.out.println("Hello World!");}}(3)检查无误后(注意大小写)保存文件。
可将文件保存在“D:\Java\”目录中,注意文件名为HelloWorld1.java。
java实验报告-
java实验报告-Java 实验报告一、实验目的本次 Java 实验的主要目的是通过实际编程操作,深入理解和掌握Java 语言的基本语法、面向对象编程的概念以及常用类库的使用方法。
同时,培养自己的编程思维和解决实际问题的能力。
二、实验环境操作系统:Windows 10开发工具:IntelliJ IDEAJDK 版本:18三、实验内容及步骤(一)实验题目 1:简单的 Java 程序设计1、题目描述编写一个 Java 程序,实现输出“Hello, World!”。
2、实验步骤(1)打开 IntelliJ IDEA 开发工具,创建一个新的 Java 项目。
(2)在项目中创建一个新的 Java 类,命名为“HelloWorld”。
(3)在“HelloWorld”类中编写以下代码:```javapublic class HelloWorld {public static void main(String args) {Systemoutprintln("Hello, World!");}}```(4)运行程序,查看控制台输出结果。
(二)实验题目 2:数据类型与变量1、题目描述定义不同数据类型的变量,并进行赋值和运算操作。
2、实验步骤(1)在同一个 Java 项目中创建一个新的 Java 类,命名为“DataTypeAndVariable”。
(2)在“DataTypeAndVariable”类中编写以下代码:```javapublic class DataTypeAndVariable {public static void main(String args) {int num1 = 10;int num2 = 20;int sum = num1 + num2;double price = 125;String name ="张三";boolean isTrue = true;Systemoutprintln("num1 + num2 ="+ sum);Systemoutprintln("价格:"+ price);Systemoutprintln("姓名:"+ name);Systemoutprintln("是否为真:"+ isTrue);}}```(3)运行程序,查看控制台输出结果。
java实验报告
Java程序设计实验报告学号:名字:实验一 JAVA开发环境及基本语法一、实验目的:1、掌握常用的Java集成开发环境的使用,特别是Eclipse和NetBeans。
2、掌握Java基本语法,重点是面向对象的思想和语法。
3、掌握控制台下(应用程序)的输入输出方法,作为后续部分实验的基础。
二、实验内容:1、打开实验室计算机上的集成开发环境Eclipse或NetBeans(重点是Eclipse),掌握其基本使用方法。
了解开发软件的各个菜单功能。
会创建java项目(Project),会编辑和编译、运行项目代码。
2、验证和学习所给的几个例子程序及其讲解。
然后自己编写一个至少由一个类构成的Java程序,其功能是在运行后,能接收用户输入一个学生的姓名以及java课的成绩(百分制),并输出对该学生成绩是否达到60分的及格分的判断(可使用if语句)。
例如,输入学生姓名李明,然后输入成绩50,则输出“李明的成绩为不及格”。
3、编写一个程序来表示长方体的长宽高等数据并有计算体积的函数可供调用,长方体类从矩形类继承而来。
程序运行时能接受输入任意的3 个数作为长方体的长、宽和高,然后能够输出所输入的长宽高及所计算出的体积。
注意不能把代码全部写在main函数里面,不能直接输出长宽高的乘积。
三、设计过程预习实验指导书上的内容,并将实验指导书上的例子用Eclipse验证,分析例子的指导思想,然后根据例子的内容用java语言写出自己的程序。
实验中需要学会利用控制台输出信息,使用语句“System.out.println("**************"); ”即可。
而在控制台下接受用户输入数据的方法为:Scanner sc = new Scanner(System.in); // 定义一个Scanner对象,从System.in接受输入;str = sc.next(); // 等待用户输入任意一个字符串,它会被存到str中;在实验中还会使用if语句,这跟C++的用法差不多。
广工java实验报告
广工实验报告篇一:广工实验报告专业选修课程实验(1)实验报告课程名称程序设计学生学院计算机学院专业班级学号学生姓名指导教师20年12 月 10 日实验一:语言综述一、实验内容和步骤1、下载、安装并设置 SDK 软件包。
2、安装 IDE软件。
3、编写一个简单的程序,运行结果为在屏幕上输出“HELLO WORLD!”。
二、源程序:package snippet;publ class Hello{} publ stat void main(String args[]) { }System.out.println(“HELLO WORLD!”);三、运行截图:四、注意事项:源程序文件的命名规则:如果在源程序中包含有公共类的定义,则该源文件名必须与该公共类的名字完全一致,字母的大小写都必须一样。
这是语言的一个严格的规定,如果没有遵守,在编译时就会出错。
所以,在一个源程序中至多只能有一个公共类的定义。
如果源程序中不包含公共类的定义,则该文件名可以任意取名。
如果在一个源程序中有多个类定义,则在编译时将为每个类生成一个.class文件。
五、预习与思考题1、什么是虚拟机?它的作用是什么?答:虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。
虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。
其由五个部分组成:一组指令集、一组寄存器、一个栈、一个无用单元收集堆(Garbage-collected-heap)、一个方法区域。
这五部分是虚拟机的逻辑成份,不依赖任何实现技术或组织方式,但它们的功能必须在真实机器上以某种方式实现。
虚拟机是实现语言与平台无关这一特点的关键,一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。
而引入语言虚拟机后,语言在不同平台上运行时不需要重新编译。
语言使用模式虚拟机屏蔽了与具体平台相关的信息,使得语言编译程序只需生成在虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java实验报告学号149074353 姓名程裕博班级物141指导教师柯栋梁安徽工业大学计算机学院2016年11月实验一: 利用JAVA 反射技术分析类结构自己定义的类:package chap05;public class analysis {private int a;private char c;protected int b;public double d;public void test1(){}private void test2(){}protected double test3(){return 1.0;}}用java反射技术分析输出的结果:Enter class name (e.g. java.util.Date):chap05.analysisclass chap05.analysis{public chap05.analysis();public void test1();private void test2();protected double test3();private int a;private char c;protected int b;public double d;}1.分析程序运行时的输出结果。
输出的结果中显示了被分析类的方法与变量,包括这些方法与变量的修饰符2.分析与JAVA反射技术相关的几个类的作用:ng.reflect.Constructor;Constructor 提供关于类的单个构造方法的信息以及对它的访问权限。
ng.reflect.Field;Field 提供有关类或接口的单个字段的信息,以及对它的动态访问权限。
反射的字段可能是一个类(静态)字段或实例字段。
ng.reflect.Method;Method 提供关于类或接口上单独某个方法(以及如何访问该方法)的信息。
所反映的方法可能是类方法或实例方法(包括抽象方法)。
ng.reflect.Modifier;Modifier 类提供了static 方法和常量,对类和成员访问修饰符进行解码。
修饰符集被表示为整数,用不同的位位置(bit position) 表示不同的修饰符。
实验二:利用JAVA 反射技术分析对象结构实验内容:运行示例程序,分析Integer 数组对象的结构;改写程序分析一下自定义的类对象,如Employee 类。
结果分析:该程序较为复杂,通过调试模式我发现ObjectAnalyzer的toString方法为一递归函数,从代码可以看出程序是用来分析对象中非静态的成员变量并将其显示出来,通过递归分析对象中的对象的成员变量,通过获取超类分析其继承来的成员变量。
自己编的类:package chap05;public class analysis extends Employee{private int a = 0;private char c = ' ';static protected int b = 0;public double d = 0;public void test1(){}private void test2(){}protected double test3(){return 1.0;}}分析结果:chap05.analysis[a=0,c= ,d=0.0][][salary=0.0,name= null,year=0,mouth=0,day=0][]实验三: 利用JAVA 反射技术调用方法指针定义的People类:package chap05;public abstract class People {double salary;String name;int year,mouth,day;public abstract double getSalary();public abstract void setSalary(double salary);}class Employee extends People{Employee(String name,double salary,int year,int mouth,int day){this.salary = salary; = name;this.year = year;this.mouth = mouth;this.day = day;}Employee(){}public double getSalary(){return salary;}public void setSalary(double salary){this.salary = salary;}}class Manager extends People{private double bonus;Manager(String name,double salary,int year,int mouth,int day){this.salary = salary; = name;this.year = year;this.mouth = mouth;this.day = day;bonus= 0;}public double getSalary(){return salary+bonus;}public void setSalary(double salary){this.salary = salary;}public void setBonus(double bonus){this.bonus = bonus;}}通过指针调用的结果:public static double chap05.MethodPointerTest.square(double)9.0public static double ng.Math.sqrt(double)3.0public double chap05.Employee.getSalary()50000.0public void chap05.Manager.setBonus(double)public double chap05.Manager.getSalary()80000.03.结果分析:1.分析程序运行时的输出结果。
代码中Methodl类就相当于一个指向类中方法的指针,Class类通过getMethod方法获取这个Method类,之后Method类的对象可以通过invoke方法来调用这个方法。
2.掌握反射技术调用类(对象)方法的基本原理与流程。
(同上)4.扩展:1.自定义一些简单类,使用反射技术调用该类(静态方法)或类对象的方法;package chap05;import ng.reflect.*;public class MethodPointertest2 {public static void main(String[] args) throws Exception{ Method sin = Math.class.getMethod("sin",double.class);Field PI = Math.class.getField("PI");System.out.println(sin.invoke(null,PI.getDouble(null)/2));}}输出结果:1.0这里没有再自己定义方法了,这里类比Method方法的使用过程通过Field方法获取了Math类里的PI成员并使用2.对于未知类(对象)的内部结构,如何利用反射技术调用其方法?可以先通过反射技术分析其结构再通过反射技术调用其方法。
实验四: 利用TreeSet 实现集合元素排序源代码:package shiyan04;import java.util.*;public class Employee implements Comparable<Employee>{ public String name;public int salary;public Date hiredate = new Date();Employee(String name,int salary,Date hiredate){ = name;this.salary = salary;this.hiredate.setTime(hiredate.getTime());}public int compareTo(Employee other){return pareTo();}}class salaryComparator implements Comparator<Employee>{public int compare(Employee a,Employee b){return a.salary - b.salary;}}package shiyan04;import java.text.SimpleDateFormat;import java.util.*;public class Process {public static void main(String[] args) {Employee[] e = new Employee[10];Date nowTime = new Date();SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");String[] name = { "张三", "李四", "王五", "赵六", "Tom", "Jerry", "Amy", "test", "Jack", "John" };long oneday = 86400000;// System.out.println(nowTime);for (int i = 0; i < 10; i++) {nowTime.setTime(nowTime.getTime() - oneday * 30);e[i] = new Employee(name[i], 3000 + i * 100, nowTime);}System.out.println("按姓名:");SortedSet<Employee> byname = new TreeSet<Employee>();for (Employee i : e) {byname.add(i);}Iterator<Employee> iter = byname.iterator();while (iter.hasNext()) {Employee e1 = iter.next();System.out.println( + " " + e1.salary + " "+ format.format(e1.hiredate));}System.out.println("按工资:");salaryComparator comp2 = new salaryComparator();SortedSet<Employee> bysalary = new TreeSet<Employee>(comp2);for (Employee i : e) {bysalary.add(i);}iter = bysalary.iterator();while (iter.hasNext()) {Employee e1 = iter.next();System.out.println( + " " + e1.salary + " "+ format.format(e1.hiredate));}System.out.println("按日期:");SortedSet<Employee> bydate = new TreeSet<Employee>(new Comparator<Employee>() {public int compare(Employee a, Employee b) {return pareTo(b.hiredate);}});for (Employee i : e) {bydate.add(i);}iter = bydate.iterator();while (iter.hasNext()) {Employee e1 = iter.next();System.out.println( + " " + e1.salary + " "+ format.format(e1.hiredate));}}}运行结果:按姓名:Amy 3600 2013-05-28Jack 3800 2013-03-29Jerry 3500 2013-06-27John 3900 2013-02-27Tom 3400 2013-07-27test 3700 2013-04-28张三 3000 2013-11-24李四 3100 2013-10-25王五 3200 2013-09-25赵六 3300 2013-08-26按工资:张三 3000 2013-11-24 李四 3100 2013-10-25 王五 3200 2013-09-25 赵六 3300 2013-08-26 Tom 3400 2013-07-27 Jerry 3500 2013-06-27 Amy 3600 2013-05-28 test 3700 2013-04-28 Jack 3800 2013-03-29 John 3900 2013-02-27 按日期:John 3900 2013-02-27 Jack 3800 2013-03-29 test 3700 2013-04-28 Amy 3600 2013-05-28 Jerry 3500 2013-06-27 Tom 3400 2013-07-27 赵六 3300 2013-08-26 王五 3200 2013-09-25 李四 3100 2013-10-25 张三 3000 2013-11-24实验五: 多线程同步之团结就是力量实验源代码:package chap08;import java.util.Random;public class ExCooperation2 {public static void main(String[] args) {WorkStudent2 ws1 = new WorkStudent2(1, 10);WorkStudent2 ws2 = new WorkStudent2(2, 20);WorkStudent2 ws3 = new WorkStudent2(3, 30);WorkStudent2 ws4 = new WorkStudent2(4, 40);new Thread(ws1).start();new Thread(ws2).start();new Thread(ws3).start();new Thread(ws4).start();}}class DeskAndChair{int[] desk={0,0,0,0,0},chair={0,0,0,0,0};private int chairCount = 500;private int deskCount = 500;public synchronized Boolean distribute(int id,long sleeptime){int chairs = 1;int desks = 1;Random rdm = new Random(System.currentTimeMillis());if(rdm.nextInt() % 2 ==0){if(chairCount > 0){chairs = chairs - 1;while(chairs<0){try{wait();}catch(InterruptedException e){}}System.out.println("Student "+id+": wiping desk "+chairCount--);chair[id]+=1;chairs = chairs + 1;notifyAll();}}else{if(deskCount > 0){desks = desks - 1;while(desks<0){try{wait();}catch(InterruptedException e){}}System.out.println("Student "+id+": wiping desk "+deskCount--);desk[id]+=1;desks = desks + 1;notifyAll();}}if(chairCount == 0&&deskCount == 0)return true;elsereturn false;}}class WorkStudent2 implements Runnable {private long sleeptime;private int id;static DeskAndChair dc = new DeskAndChair();public WorkStudent2(int id,long time){super();this.id=id;this.sleeptime=time;}public void run(){while(!dc.distribute(id, sleeptime)){try{Thread.sleep(sleeptime);}catch(Exception e){}};System.out.println("Result: Student "+id+" wiped "+dc.desk[id]+" desks and"+dc.chair[id]+" chairs.");}}运行结果:实验六: 利用JDBC 技术实现简易MYSQL 客户端程序1.工具:(2)数据库软件:Microsoft Access 2010(3)Java开发工具:Eclipse2.程序框图:主界面成绩表班级表添加修改删除添加修改删除成绩表班级表按姓名查询按成绩查询按班级名称查询按平均成绩查询2.部分运行截图及源代码:数据库表:1.主界面代码:class MyPanel extends JPanel{Image img=Toolkit.getDefaultToolkit().getImage("c:/a.jpg");public void paint(Graphics g){g.drawImage(img,0,0,this);}}public class MainForm extends JFrame implements ActionListener {JMenu mSystem=new JMenu("系统");JMenuItem mExit=new JMenuItem("退出");JMenu mOperate=new JMenu("数据操作");JMenuItem mAdd=new JMenuItem("添加成绩表中的数据");JMenuItem mDel=new JMenuItem("删除成绩表中的数据");JMenuItem mModify=new JMenuItem("修改成绩表中的数据");JMenu mQuery=new JMenu("查询");JMenuItem mName=new JMenuItem("在成绩表中按姓名查询");JMenuItem mScore=new JMenuItem("在成绩表中按成绩查询");JMenuItem mBname=new JMenuItem("在班级表中按班级名查询");JMenuItem mBscore=new JMenuItem("在班级表中按班级平均成绩查询");JMenu mHelp=new JMenu("帮助");JMenuItem mAbout=new JMenuItem("系统信息");JMenuBar mBar=new JMenuBar();MainForm(){super("学生成绩管理系统");setSize(680,640);mSystem.add(mExit);mOperate.add(mAdd);mOperate.add(mDel);mOperate.add(mModify);mQuery.add(mName);mQuery.add(mScore);mQuery.add(mBname);mQuery.add(mBscore);mHelp.add(mAbout);mBar.add(mSystem);mBar.add(mOperate);mBar.add(mQuery);mBar.add(mHelp);setJMenuBar(mBar);mExit.addActionListener(this);mAdd.addActionListener(this);mDel.addActionListener(this);mModify.addActionListener(this);mName.addActionListener(this);mScore.addActionListener(this);mBname.addActionListener(this);mBscore.addActionListener(this);mAbout.addActionListener(this);setContentPane(new MyPanel());setVisible(true);}public void actionPerformed(ActionEvent ae){if(ae.getSource()==mExit)System.exit(0);else if(ae.getSource()==mAbout)JOptionPane.showMessageDialog(this,"学生成绩管理系统\n\n计算机学院\n\n2013年12月","系统信息",RMATION_MESSAGE);else if(ae.getSource()==mAdd)new AddForm().setVisible(true);else if(ae.getSource()==mDel)new DeleteForm().setVisible(true);else if(ae.getSource()==mModify)new ModifyForm().setVisible(true);else if(ae.getSource()==mName)new NameQueryForm().setVisible(true);else if(ae.getSource()==mScore)new ScoreQueryForm().setVisible(true);else if(ae.getSource()==mBname)new BnameQueryForm().setVisible(true);else if(ae.getSource()==mBscore)new BsoreQueryForm().setVisible(true); }public static void main(String[] args) {new MainForm();}}2.添加数据:3.修改数据:如果没有该数据:4.删除数据:注:限于篇幅部分功能没有截图。