JAVA实验报告心得

2024-12-04

JAVA实验报告心得(共9篇)

JAVA实验报告心得 篇1

北京联合大学信息学院

“面向对象程序设计”课程上机实验报告

题目:

JAVA上机实验心得体会 姓名(学号):

专业:计算机科学与技术

编制时间:

2012年12月19日

版本:

1.0.0

指导教师:

北京联合大学-信息学院编制 实验1 熟悉Java运行环境

实验目的:熟悉JDK环境和操作,编写简单的Java应用程序。

心得体会:在该实验中,我碰到的问题是JDK环境变量的设置。解决方法是通过查阅资料书和网上搜索相关解决方法及同学的有力帮助。实验2 选择语句练习

实验目的:正确理解并能够熟练操作和使用Java的if和switch语句。

心得体会:我个人感觉有了C的编程基础,if和switch这些简单的流程控制语句运用起来比较轻松,实现简单的逻辑运算也跟C非常相近,所以上手比较快。但是在这次程序中,首次涉及到了java程序的数据输入,与C区别很大。但经过老师的讲解和查阅相关资料,基本明白相关的使用规则和注意事项。在第二个小题中还涉及到了charAt()方法,经查阅JDK文档,知道charAt()方法返回一个位于提供给它的参数索引处的字符,如: str.chatAt(0)检索str中的第一个字符,str.charAt(str.length()-1)检索最后一个字符。我运用此方法解决了比较字符串间首字母异同的问题。

实验3 迭代练习

实验目的:正确理解并能够熟练操作和使用Java的for、while、do..while语句。心得体会:在该实验中,我学会了为具体操作选择最合适的循环语句及for、while、do..while语句的相互转换使用。最重要的是,明白了JAVA程序中,定义方法中的局部变量时一定要赋初始值,否则编译不能通过会报错;但类中的成员变量则不一定需要。如我在实验3main()方法定义的整型局部变量command,当不初始化则不能通过编译。原因是局部变量不能有JVM自动赋给相关的默认值,而成员变量可以。实验4 方法的实现练习

实验目的:声明、定义和调用方法,理解实参和形参的含义。

心得体会:在该实验中,我掌握如何写方法、调用方法,并掌握如何向方法中传递信息和从方法中返回信息。方法声明为非void(构造方法除外)则需要用return语句返回一个相应类型的返回值。

实验5 简单类型数组练习

实验目的:学习创建简单类型的数组,并能用循环语句处理数组。

心得体会:通过该实验,我学会了如何让建立简单类型的数组,并掌握了将数组作为方法的传入参数和返回值。在该实验中,遇到的问题主要是如何将一个连续的多位数在存入数组时,每个数组元素只对应改多位数的一个组成数。我解决的方法如下: for(i=0;i<6;i++){ n[i] = aa%10;//aa%10的结果是aa的末尾数,将多位数aa的末尾数赋给a[i] aa =(int)aa/10;//对aa/10的结果强制取整,去掉了aa的末尾数,以便对下一位数的存数。}

实验6 类和对象的练习

实验目的:正确理解并能够熟练操作和使用Java的类、对象和方法。心得体会:我学会了如何建立类和对象,分别输出其中包含的成员值;以及分别引用各方法,实现不同的操作。在该程序中,我进一步了解了如何定义成员方法和成员属性以及相关方法的调用。特别是我掌握了利用构造方法对成员属性赋初始值。值得一提的是,我在相应的程序中运用了toUpperCase方法,经查看JDK文档知道该方法的作用是返回一个所有字母都被转化为大写字母字符串。实验7 类的实现

实验目的:使用统一建模语言(UML)设计类,并实现类。

心得体会:通过该实验,我学会了使用public、private控制访问及其访问权限;体会了static关键字的作用。并对JAVA程序中的类及面向对象的编程思想有了更进一步的了解。实验8 继承的练习

实验目的:正确理解并能够熟练操作和使用Java类的继承关系。

心得体会:理解了继承的含义,并使用UML符号设计了继承结构;掌握了用Java实现继承关系;学会了区分方法重写和方法重载;并深入理解了abstract 和 final修饰符的作用。用final标记的变量只能赋值一次,标记的类不可被继承,方法不可被子类重写。用关键字extends表继承,例如子类A继承了父类B则可写作 class A extends B。在这些概念性知识点弄明白后,在解决实际问题时,碰到了输入年月日计算车龄的问题,我的解决办法如下: public int age(int year){

int age;

int a1 =(int)(time/10000);//(int)time/10000是将8位数表示的生产年月日强制转换成四位数表示的年

int a2 =(int)(year/10000);//将当前年月日转换为年

age = a2-a1 +1;//计算车龄

return age;} 实验9 抽象类、接口练习

实验目的:综合运用接口,类的知识。

心得体会:在该实验中,我掌握了接口定义,以及类实现接口。接口用interface关键字定义,在接口中,可以用abstract是修饰方法的,也可以去掉abstract,编译时会默认为抽象方法。类实现接口可用implements表示,例如class Circle implements Shape表示,Circle类实现了接口Shape。实验10 多态练习

实验目的:理解并使用面向对象的特征:多态。

心得体会:在实验10中,我基本掌握了多态的句柄、多态方法的定义。在改程序中,我遇到了要求随机产生一个图形的难题,通过网上查阅资料,利用系统函数Math.random()经一系列的运算处理来随机产生一个图形解决了该难题,具体的程序如下: public static void main(String[] args)

{

Circle cir = new Circle(9);

Square squ = new Square(4);

Shape shape;

int r;

r =(int)(Math.random()*2);//用Math.random()方法产生0.00到1.00的随机数,乘2取整后非0即1

if(r == 0)

shape = cir;

else

shape = squ;

} shape.testShape(shape);//同一条语句产生不同的执行结果,多态性。

实验11 多线程处理

实验目的:理解线程的基本概念。

心得体会:通过该实验,基本能够理解线程的运行了。学会调用Thread类中的系统函数以及掌握这些函数的作用是难点,setName()是设置线程名字,start()是开辟一条新线程,Thread.currentThread().getName()是获得正在执行的线程的名字,Thread.currentThread().getId()是thread类中返回该线程的标识符的方法,Thread.currentThread().getPriority()是thread类中返回线程的优先级的方法。

实验12 I/O及文件处理

实验目的:掌握并使用Java中的I/O和文件。

心得体会:对于该实验,由于比较难,只是基本掌握了文件读写的方法和规则,还有待17周JAVA实训时继续攻坚克难。

结语:在这一系列的实验中,我基本掌握了Java的编程规则、知识要点和一些小技巧,特别是对面向对象的编程思想和风格有了进一步的认识和体会。同时,因正确的编出程序而带来的成就感让我对编程更加感兴趣。对于在这些实验过程中,请教老师、同学互助、查阅资料等基本的学习方式,使我更加领悟到集体和团队的力量,也树立了敢于攻坚的信心。

Java开发环境实验报告 篇2

课程名称

面向对象程序设计

实验项目名称

Java开发环境实验

学生姓名

专业班级

学号

一.实验目的和要求

1. 建立并熟悉Java开发环境,熟悉Eclipse集成开发环境 2. 能够编写简单的Java应用程序

二.实验内容

1.安装和配置Java SDK

2.安装和配置Eclipse集成开发环境

3.编写在屏幕上输出信息的Java应用程序

三.实验结果与分析(可将程序运行结果截屏,也可简单分析运行结果)

1.用Java SDK开发屏幕输出“Hello World”的程序。程序运行结果如下:

2.用Eclipse开发屏幕输出“Hello World”的程序。程序运行结果如下:

3.用Java SDK开发屏幕输出“你好,我开始学OOP了”的程序。程序运行结果如下:

4.用Eclipse开发屏幕输出“你好,我开始学OOP了”的程序。程序运行结果如下:

四.讨论、心得(可写遇到的问题及解决方法,或者对技术的理解等)

1.public类有何特点?

有public的类可以在包外使用,否则不可以,与此同时,源文件名必须和类名相同。

2.Java语言是否区分大小写?

JAVA语言本身是区分大小写的,但是在用文件路径、文件名对文件进行操作时,这里的文件名和路径是不区分大小写的,这是因为文件系统不区分大小写。

3.JVM和JRE都是什么?

JVM是Java Virtual Machine(Java 虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

Java运行环境(Java Runtime Environment,简称JRE)是一个软件,由太阳微系统所研发,JRE可以让电脑系统运行Java应用程序(Java Application)。

JRE的内部有一个Java虚拟机(Java Virtual Machine,JVM)以及一些标准的类函数库(Class Library)。

4.Java如何做到平台无关的?

实验报告实验心得 篇3

经过几年的尝试,觉得小组合作学习的效果是明显的。首先是课堂上同学们得到表现的机会增多了;另外就是同学们觉得面对老师时那种无形的压力变小了,在小组中能够更好地发挥自己的才能。从另一个角度来说,小组合作学习不仅减轻了教师的负担,同时也提高了学生学习的积极性和参与程序。

它能使学生的思维得到碰撞,从而迸发出火花,创造性地解决问题,并能刺激学生课堂的信息接受量,而且学生在合作的过程中也体会到集体的力量,从而培养合作的意识。小组合作学习使他们从不愿意和人交流到愿意与人合作,能形成良好的个性品质,对他们将来参与竞争和培养团队精神将起到不可估量的作用。

作为一种尝试,要做的事还不少。首先,要把合作学习变成学生自觉行为。不能把合作学习当成一种时髦的东西去简单的效仿,如果仅仅追求一种表面的东西,就完全失去了合作学习的意义了。其次,合作学习在形式和方法上要多样化。我们不应拘泥于小组合作的单一形式,还应探讨组与组之间的合作,在方法上还应灵活多样,丰富多彩。最后,还要把合作中的不利因素降到最低限度。要注意在合作过程中绩差生的思想情况和参与情况,以及合作失败后可能产生的负面影响;还应估量到小学生的可能受江湖义气、哥们义气等的影响,产生一团和气的恶习等。此外,合作学习与个别化教学相结合的问题还需在以后的实践中进一步探讨。总之,小组合作学习还有许多需要我们去探讨、去研究的东西,但只要我们始终发挥合作学习的优势,尽量避免合作学习中的不利因素,小组合作学习这种形式就一定会在教学中发挥出更大的作用。

实验报告心得体会 篇4

在学习知识上面,开始的时候完全是老师讲什么就做什么,感觉速度还是比较快的,跟理论也没什么差距。但是之后就觉得越来越麻烦了。从最开始的误差分析,实验报告写了很多,但是真正掌握的确不多,到最后的回转器,负阻,感觉都是理论没有很好的跟上实践,很多状况下是在实验出现象以后在去想理论。在实验这门课中给我的感受就是,必须要先弄清楚原理,在做实验,这样又快又好。

在养成习惯方面,最开始的时候我做实验都是没有什么条理,想到哪里就做到哪里。比如说测量三相电,有很多种状况,有中线,无中线,三角形接线法还是Y形接线法,在这个实验中,如果选取恰当的顺序就能够减少很多接线,做实验就应要有良好的习惯,就应在做实验之前想好这个实验要求什么,有几个步骤,就应怎样安排才最合理,其实这也映射到做事情,不管做什么事情,就应都要想想目的和过程,这样才能高效的完成。电原实验开始的几周上课时间不是很固定,实验报告也累计了很多,第一次感觉有那么多实验报告要写,在交实验报告的前一天很多同学都通宵了的,这说明我们都没有合理的安排好自己的时间,我就应从这件事情中吸取教训,合理安排自己的时间,完成就应完成的学习任务。这学期做的一些实验都需要严谨的态度。在负阻的实验中,我和同组的同学连了两三次才把负阻链接好,又浪费时间,又没有效果,在这个实验中,有很多线,很容易插错,所以要个性仔细。

在最后的综合实验中,我更是受益匪浅。完整的做出了一个红外测量角度的仪器,虽然不是个性准确。我和我组员分工合作,各自完成自己的模块。我负责的是单片机,和数码显示电路。这两块都是比较简单的,但是数码显示个性需要细致,由于我自己是一个粗心的人,所以数码管我检查了很多遍,做了很多无用功。

ArcGIS实验报告与心得 篇5

院系:资源与环境学院

年级:2011级

班级:地信一班

姓名:

学号:

指导老师:冯慧敏

时间:2013.05.28

ArcGIS实验报告与心得

一.实验目的:

(1)通过实习了解ArcGIS的发展,以及9.3系列软件的构成体系熟练掌握

(2)熟练掌握ArcMap的基本操作及应用

(3)了解及应用ArcGIS的分析功能模块ArcToolbox

(4)加深对地理信息系统的了解

二.实验内容

实验一是对ArcGIS概述。介绍ArcGIS的发展,以及9.3系列软件的构成体系,了解桌面产品部分ArcMap、ArcCatalog和ArcToolbox的相关基础知识;

实验二讲解了视图数据的显示与管理

主要阐述如何让创建新的Map Document(工程文档),工程文档的保存,创建新数据层layer,数据层(Layer)的操作等;

实验三讲解了ArcMap下的数据编辑与修改 编辑点、线、面文件的流程,点、线、面的主要生成方法和介绍了绘图工具、编辑菜单;

实验四讲解了栅格数据矢量化 介绍了ArcScan工具。ArcScan是Arcmap Desktop中栅格矢量化的扩展工具。它提供了一套强大且易使用的栅格矢量化工具。它使得用户可以通过捕捉栅格要素,以交互追踪或批处理的方式直接通过栅格影像创建矢量数据;

实验五讲解了符号编辑与属性表操作比如点状符号的制作,现状状符号的制作,面状符号的制作和属性表的常用操作如创建属性表、编辑表格、表格查询、表格计算等;

实验六讲解了空间查找与空间分析。主要熟练掌握缓冲区分析和叠置分析中的图层擦除(Erase)、交集操作(Intersect)和图层合并(Union);

实验七讲解了矢量数据的最短路径分析和栅格数据的最佳路径分析。主要我们掌握网络分析和栅格数据的空间分析;

实验八讲解了图表与报告创建使用和图版设置与地图整饰。创建图表与使用图、表创建报表与使用报表和图版设置与地图整饰。

三.实验步骤及感想

通过这学期的ArcGIS实习,让我体验到了ArcGIS功能之强大,也让我对ArcGIS有了一个整体的认识。也让我知道了地理信息系统是做什么的,他能解决什么样的问题。比如运用ArcGIS的强大的分析功能做一个选址问题。就拿实验六来说,我们利用缓冲分析和叠置分析来完成选址问题。刚开始做实验时我就在思考,它是怎样去完成这样一个问题的呢?对于每个购房者第一个思考的问题当然是周围的环境,所以当然就要避开主干道的噪音干扰了。这就的用ArcGIS中强大的缓冲分析了。缓冲区分析(Buffer)是对选中的一组或一类地图要素(点、线或面)按设定的距离条件,围绕其要素而形成一定缓冲区多边形实体,从而实现数据在二维空间得以扩展的信息分析方法。所以我们第一步要做的就是提取主干道。提取主干道是在交通网络图层的属性表选择。具体步骤:在右下角的打开 option 选项中,在菜单中选择 select by attributes,在 select by attributes 对话框中,左边选择“TYPE”,双击将其添加到对话框下面 SQL 算式表中,点中间“=”,再单击 Get unique values 将 TYPE的全部属性值加入上面的列表框中,然后选择“ST”属性值,双击添加到 SQL 算式表中,单击 APPLY 按钮,就将市区的主要道路选择出来了。第二步自然就是主干道噪音缓冲区的建立。(1)在使用缓冲区分析之前,我们先加载缓冲区分析工具,操作如下:选择主菜单中“Tools>Customize”命令,进入“Command”标签;(2)在“Command”对话框选中Categorie框中的“Tools”,然后在右边的“Commands” 框中选择“Buffer Wizard”,将其拖动到工具栏上的空处,出现缓冲区图标。然后根据操作完成主干道噪音缓冲区的建立、商业中心影响范围建立、名牌高中的影响范围建立和名胜古迹的影响范围建立。这样做是建立满足个至条件的缓冲区图层。然后把个个满足条件图层进行综合,这也就是下一步的叠置分析了。叠置分析是地理信息系统中常用的用来提取空间隐含信息的方法之一,叠置分析是将有关主题层组成的各个数据层面进行叠置产生一个新的数据层面,其结果综合了原来两个或多个层面要素所具有的属性,同时叠置分析不仅生成了新的空间关系,而且还将输入的多个数据层的属性联系起来产生了新的属性关系。先进行交集操作。打开 ArcToolBox,在“Analyst Tools”下选择“overlay” 下的“Intersect” 操作,将商业中心的缓冲区、名牌高中的缓冲区和名胜古迹的缓冲区分别添加进来,单击“OK”,从而获得同时满足三个条件的交集区域。接着进行擦除操作。为便于购房者的选择有更大的余地,更直观地,综合上述四个因子,对整个市区进行分等定级,这样我们做的择房分析就完成了,心里顿时有一种成就感,也体会了ArcGIS的强大之处。

四.实验总结

网络综合布线实验报告心得 篇6

网络安全要从两方面来入手

第一、管理层面。

包括各种网络安全规章制度的建立、实施以及监督

第二、技术层面。

包括各种安全设备实施,安全技术措施应用等

按照你的描述 首先我提醒你一点

安全是要花钱的 如果不想花钱就你现有的这些设备

我认为应该从以下几点入手

一、制定并实施网络安全管理制度 包括服务器以及个人主机安全管理、包括个级别权限管理等等

二、制定并实施网络安全日常工作程序,包括监测上网行为、包括入侵监测

三、从技术层面上,你那里估计是一根专线接入后用交换机或者无线路由器DHCP分配IP地址供大家上网,这样的话你做不到上网行为管理,你需要一台防火墙进行包过滤以及日志记录或者作一台代理服务器进行上网行为管理并进行日志记录。

四、局域网内计算机系统管理 包括操作系统防病毒 更新补丁等工作 堡垒往往是从内部攻破 内部计算机中毒主动向外发送数据,造成泄密 这已经是很常见的事情所以做好主机防护很重要。

当然 如果您有钱 黑洞系统 入侵监测 漏洞扫描 多级防火墙 审计系统都可以招呼

最后提醒一点 那就是 没有绝对的安全 安全都是相对的

你需要什么级别的安全 就配套做什么级别的安全措施

管理永远大于技术 技术只是辅助手段

具体有什么问题 请更新问题 我会再来回答 或者用Baidu Hi来联系我

只是我不定期在

________________

怎么网络安全

1。

安装好杀毒软件和防火墙并及时更新。

2。

养成良好的上网习惯,不去点击一些不良网站和邮件。

3。

定期杀毒,及时给系统打好补丁。

4。

学习网络安全知识,远离黑客工具。

______________________________

网络安全学习内容

1。

防火墙(正确的配置和日常应用)

2。

系统安全(针对服务器的安全加固和WEB代码的安全加固以及各种应用服务器的组建,例如WEB MAIL FTP等等)

3。

安全审核(入侵检测。

日志追踪)

4。

网络工程师,CCNA课程(网络基础知识。

印刷工艺与设计实验报告及心得 篇7

印刷是一种文字和图像的复制技术,它所涉及的应用方面十分广泛,在现代文化交流以及信息传播方面起着至关重要的作用。印刷一般由原稿,印版,油墨,承印物和印刷机械五个部分构成。而根据印版形式,印刷色彩和印刷品的用途,印刷工艺又可以分出许多不同的门类。每一个不同的门类都有自己独特的工艺,我们主要就丝网印刷工艺进行了实验探究。

原稿是制版,是印刷的基础,原稿的好坏直接影响到印刷成品的质量。因此在原稿的选择上最好使用矢量图形,或是精度很高的位图,以免精度不够印刷放大时会显示像素格。我们所做的丝网印刷是单色的,所以最好选择色彩对比强烈,颜色过渡不微妙,灰色少,的原稿才能印出品质较高的成平。需要注意的是原稿细节不宜过多,丝网印刷是一种孔板印刷工艺,受孔洞大小的制约,细节部分一般很难较好的呈现出来。根据这些原理,我们进行了原稿的选择,并将其制成了胶片为印刷工艺实践做前期准备。

印版是用于传递油墨至承印物上的印刷图文载体。在原稿胶片制作完成后,我们进行了印版的制作。在清理好网框后,我们进行了绷网的工作。绷网是把丝网绷紧并固定在网框上的工作,绷网的好坏决定着最后成品的质量。在绷网过程中值得注意的有四点:

一、必须保证张力均匀;

二、保证网线方向一致;

三、对网框施加预受力;

四、减小变形量。根据这些要求,我们分组进行了绷网的工作。裁剪好适合网框大小的丝网后,将一边先行固定在网框上,之后用夹子夹住相对的一边,施加压力以便丝网能绷紧在网框上。固定时应将钉子由中间向两边固定,以免最后丝网中间会皱起。绷网时我们尽量保持施加压力均匀,以避免丝网在网框上绷起后松紧不一。固定好后将多余的部分裁切掉我们便做好了绷网的工作。

绷网完成后我们进行了涂布和粘贴感光胶的工作。感光胶的感光能力强,我们需要在暗室里工作以免感光材料曝光。我们选择了光线照射比较弱的地方进行了感光胶的涂布工作。我们将感光材料倒在上浆器里,保证感光胶均匀的布满在上浆器前端,并在网框保持一定角度摆放并固定不动的条件下,把上浆器在网框里由下至上缓慢均匀尽量呈90度角涂布。遇到涂布不均的情况可以直接用上浆器将多余的感光胶继续向上涂布。涂布的过程中尽量不要停顿,否则会在网框上出现一条直线的痕迹,影响印刷质量。为保证感光胶均匀涂布后可继续上胶两至三次。感光胶涂布完成后,避免接受光线照射,将其放进不超过60度的烘干设备里进行烘干,大约需要40分钟的时间。

感光材料烘干后,需要进行的是晒版曝光的工作。将原稿胶片放在印版下的适合位置,并将印版抽成真空后,我们对其使用紫外线曝光51秒,以使胶片上的原稿能被感光胶显示在印版上。曝光的时间不宜过长,会曝光过度,而曝光时间太短又会有曝光不够的现象。51秒曝光完成后,我们将印版取出并先行在上面布一些水,以免二次曝光。之后将印版小心的清洗干净。丝网印刷基本原理是:利用丝网印版图文部分网孔透油墨,非图文部分网孔不透墨的基本原理进行印刷。感光材料能覆盖在未被曝光的部分,使其没有办法透过油墨,因而能将胶片上的图文印刷出来。我们需要仔细洗掉曝光区域的感光材料,以便上油墨时可以很好的成像。清洗之后,我们便可以在印版上看到胶片上的图像文字信息转移到印版上未被感光胶覆盖的部分了。

把印版上的水烘干之后,整个印版已经制作完成,我们需要开始印刷的工作。将印版固定在台面上,并将承印物放在印版下方适合的位置,就可以在印版上涂布油墨了。干了的油墨需要混合入慢干水以保证油墨可以顺利的附着在印版上。在印版非图像区域上一些油墨,在印版上施加压力均匀涂抹,油墨不需多上,会影响到印刷成品的质量。涂布以至两遍就可以在承印物上看到印刷出的效果了。将承印物上的油墨晾干之后,丝网印刷的整个流程就完成了。

JAVA实验报告心得 篇8

供应链管理(供应商)

销售部门销售订单录入销售订单审核销售订单 仓储部门库存足够入库订单录入销售部门发货单录入采购入库成品出库发货员发货单发货单审核第三方物流管理(入库)

入库订单入库与处理上架调度上架操作入库反馈

第三方物流管理(出库)

出库订单出库与处理出库调度出库反馈 第三方物流管理(运输)

运输单计划调度需要取货否送货车进场扫描进站集货货物装箱出站扫描发货是取货车场站扫描取货调度发运到站

二、实验主要结果

供应商:数据管理——指令跟踪界面

三、实验收获及体会

在这几次的实验中,总共学习了两大块模块:供应链管理、第三方物流。

在供应链管理试验中,我们采用了拉动式供应链。拉动式供应链中整个供应链的驱动力产生于最终的顾客,产品生产是受需求驱动的。整个供应链要求集成度较高,信息交换迅速,可以根据最终用户的需求实现定制化服务。在一个真正的拉动式供应链中,企业不需要持有太多库存,只需要对订单做出反应。了解了拉动式供应链中,零售商、供应商、运输公司、生产商之间的业务流程。了解到在拉动式的供应链中,其主要流程是零售商接到订货订单,然后根据需求向上游公司采购,由上游公司生产和运输试验只要是信息流的传递。选择拉动式供应链是企业减少库存的有效方法。

在第三方物流系统试验中,了解到第三方物流系统一种实现物流供应链集成的有效方法和策略,它通过协调企业之间的物流运输和提供后勤服务,从企业的物流业务外包给专门的物流管理部门来承担。我们所实验的系统中主要有四个部门:客户部、仓储部、运输部和财务部。客户部的主要职责是公司基本信息的维护,各类订单的录入。仓储部门是第三方物流系统核心所在。货物的入库、出库,仓库的维护,货物的盘点,运输车的装/拆箱,都是由 仓储部进行协调操作。运输部门则是负责货物的运输调度和车辆的维护。财务部门主要是处理一些财务方面的事宜。

河南工业大学java实验四 篇9

班级

计科1201

姓名:

学号

201216010506

成绩

实验4—— Java的输入机制

I 实验目的

(1).Java如何操作文件

(2).了解Java中的输入机制;如何从控制台输入,如何用InputStream和Reader显示文件中的内容。II 实验内容

(1).递归遍历目录,显示其中的文件名。

a.源代码

b.package com.fileTest;c.d.import java.io.File;e.f.public class BianLi { // 遍历目录,显示文件的名字 g.h./** i.* @param args j.*/

k.public static void main(String[] args){ l.m.File f = new File(“D:/360安全浏览器下载”);//创建一个File对象 n.listChids(f);//调用 一个列出目录的方法 o.p.} q.r.s.t.public static void listChids(File f){ u.v.System.out.println(f.getName());w.x.if(!f.isDirectory()){ //如果 不是目录,退出

y.z.return;aa.}else{

Henan University of Technology Experiment’s Report

bb.cc.File[] fs = f.listFiles();dd.for(int i=0;i

(2).用InputStream的子类读入一个英文文本文件,并用System.out显示其中的内容。

a.源代码

b.package com.fileTest;c.d.import java.io.*;e.f.public class Fileinput { g.h./** i.* @param args j.*/

k.public static void main(String[] args)throws IOException l.{ m.o.p.q.r.s.} t.// TODO Auto-generated method stub

String file = “src/abc.java”;// 英文本文件 Fileinput d = new Fileinput();//实列化对象 d.readFile(file);// 调用readFile 方法 n.Henan University of Technology Experiment’s Report

u.public void readFile(String fileName)throws IOException{ v.w.x.y.z.aa.bb.cc.dd.ee.ff.gg.hh.ii.jj.kk.ll.mm.nn.} oo.pp.} InputStream in = new FileInputStream(fileName);// 创建字节流对象

// TODO Auto-generated method stub try{

} int b = 0;while(true){

} if(in!=null)in.close();//关闭流 b = in.read();//得到内容判断是否结束 if(b==-1)

break;System.out.print((char)b);// 得到内容进行处理,转换成字符型 输出

}finally{ qq.运行截图

rr.(3).用Reader的子类读入一个字符文件,并用System.out显示其中的内容。1源代码

package com.fileTest;

import java.io.*;

Henan University of Technology Experiment’s Report

public class FileReaderBy {

} public void readFile(String filename)throws IOException {

} // TODO Auto-generated method stub BufferedReader b = null;try{

String line = null;//得到内容并判断是否到流的末尾 b =new BufferedReader(new FileReader(filename),8*1024);/** * @param args * @throws IOException * */

public static void main(String[] args)throws IOException {

} // TODO Auto-generated method stub

FileReaderBy a = new FileReaderBy();//创建一个对象

a.readFile(“src/fly.txt”);//调用方法读入字符文件

while((line = b.readLine())!=null){ //得到的内容进行处理

System.out.println(line);// 输出结果

} } finally {

} if(b!=null)b.close();//关闭流

运行截图

Henan University of Technology Experiment’s Report

(4).从控制台输入Student类的信息,包括学号、姓名、年龄,如输入错误,提示用户重新输入。创建该类,并在toString方法中输入个人信息。1源

package FileInput;

import com.java.ErrorException;

public class Students { // 学号

private long num;//姓名

private String name;//年龄

private int age;public Students(){ } public void setId(long num){ this.num = num;} public void setName(String name){ } public void setAge(int age)throws ErrorException { if(age<0||age>120)this.age= age;this.name = name;

throw new ErrorException();

Henan University of Technology Experiment’s Report

} }

@ Override public String toString(){ } return num+“ ”+name+“ ”+age;//返回个人信息

代码

public class ByScanner {

/** * @param args */

public static void main(String[] args){ // TODO Auto-generated method stub

Students s = new Students();Scanner sc = new Scanner(System.in);int id =0;String name=null;;int age =0;String len = null;

while(true){

try{ System.out.println(“请输入学号”);len= sc.nextLine();id = Integer.parseInt(len);

s.setId(id);break;} catch(Exception e){ sc.nextLine();System.out.println(“ Input error,please innput again!”);

} } while(true){ try{ System.out.println(“请输入姓名”);name = sc.next();s.setName(name);break;

Henan University of Technology Experiment’s Report

} catch(Exception e){ sc.nextLine();System.out.println(“ Input error,please innput again”);} } while(true){ try{ System.out.println(“请输入年龄”);

age = sc.nextInt();s.setAge(age);break;} catch(Exception e){ sc.nextLine();System.out.println(“ Input error,please innput again”);} } System.out.println(“该学生的信息为:”+ s.toString());

} } 运行截图

(5).增加(1)中的功能,显示文件的大小,目录的话显示其中包括的所有文件的大小。注意显示文件大小的单位(KB或MB)。

a.源代码

b.package filebianli;c.Henan University of Technology Experiment’s Report

d.e.import java.text.DecimalFormat;f.import java.io.*;g.public class Bianli h.{ i.public long getFileSizes(File f)throws Exception{//取得文件大小 j.long s=0;k.if(f.exists()){ l.FileInputStream fis= new FileInputStream(f);m.s= fis.available();n.} else { o.f.createNewFile();p.System.out.println(“文件不存在”);q.} r.return s;s.} t.// 递归

u.public long getFileSize(File f)throws Exception//取得文件夹大小 v.{ w.long size = 0;x.File flist[] = f.listFiles();y.for(int i = 0;i < flist.length;i++)z.{ aa.if(flist[i].isDirectory())bb.{ cc.size = size + getFileSize(flist[i]);dd.} else ee.{ ff.size = size + flist[i].length();gg.} hh.} ii.return size;jj.} kk.public String FormetFileSize(long fileS){//转换文件大小 ll.DecimalFormat df = new DecimalFormat(“#.00”);mm.String fileSizeString = “";nn.if(fileS < 1024){ oo.fileSizeString = df.format((double)fileS)+ ”B“;pp.} else if(fileS < 1048576){ qq.fileSizeString = df.format((double)fileS / 1024)+ ”K“;rr.} else if(fileS < 1073741824){ ss.fileSizeString = df.format((double)fileS / 1048576)+ ”M“;tt.} else { uu.fileSizeString = df.format((double)fileS / 1073741824)+

Henan University of Technology Experiment’s Report

”G“;vv.} ww.return fileSizeString;xx.} yy.zz.public long getlist(File f){//归求取目录文件个数 aaa.bbb.ccc.ddd.eee.fff.ggg.hhh.iii.jjj.kkk.lll.mmm.nnn.ooo.ppp.qqq.rrr.sss.ttt.uuu.vvv.www.xxx.yyy.zzz.aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.System.out.println(f.getName());long size = 0;File flist[] = f.listFiles();size=flist.length;for(int i = 0;i < flist.length;i++){ if(flist[i].isDirectory()){ size = size + getlist(flist[i]);size--;} } return size;}

public static void main(String args[]){ Bianli g = new Bianli();try { long l = 0;

File f = new File(”D:/360安全浏览器下载“);if(f.isDirectory()){ //如果路径是文件夹的时候 System.out.println(”文件个数 “ + System.out.println(”目录“);l = g.getFileSize(f);System.out.println(”目录的大小为:“ + } else { System.out.println(” 文件个数 1“);System.out.println(”文件“);l = g.getFileSizes(f);System.out.println(”文件的大小为:“ + } g.getlist(f));g.FormetFileSize(l));g.FormetFileSize(l));

Henan University of Technology Experiment’s Report

jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp.qqqq.} catch(Exception e){ e.printStackTrace();} } }

rrrr.运行截图

ssss.tttt.III 在本次实验中的问题和解决方法

那个第四题 当输入学号如果是0开头,那输出结果就会被舍弃因为不是一个数,如果非要输入0开头的学号,还没找到解决的办法,解决了那个输学号空格问题,解决年龄超过一定数和负数问题,文件显示大小出现的问题,看了下博客园的写的。IV心得体会

Java 博大进深,不懂的很多的,继续努力学习吧

#include #include #include #include double wtime(void);int main(int arc , char ** arv){

int stepLength = 0;

Henan University of Technology Experiment’s Report

int j = 0;

while(arv[1][j]!= 0){

stepLength = stepLength * 10 +(arv[1][j]timeStart));free(arr);return 0;} double wtime(void){

double now_time;struct timeval etstart;struct timezone tzp;if(gettimeofday(&etstart , &tzp)==-1){ perror(”not successful!n");

上一篇:召开挂职期满返回干部座谈会简报下一篇:教师离职报告申请范文