




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
java语言程序设计 实验指导书 1Java语言程序设计实验指导书实验目的与要求上机实验是一个重要教学环节。 根据课程的教学计划,应当在讲授课程内容的同时,每周安排一定时间的上机实验。 通过系统地上机练习,力求能够达到以下四个目的 (1)加深学生对课堂讲授内容的理解,从计算机语言的基本概念、程序设计的基本方法、语法规则等方面加深理解,打好程序设计、开发软件的良好基础。 (2)在上机实验中,提高学生对Java语言各部分内容的综合使用能力,逐步掌握Java语言程序设计的规律与技巧。 (3)在对Java程序的调试过程中,提高学生分析程序中出现的错误和排除这些错误的能力。 (4)通过上机实践,加深学生对计算机软件运行环境,以及对操作系统与计算机语言支持系统相互关系的了解。 对学生上机实验提出以下要求 (1)上机实验之前,学生应当为每次上机的内容作好充分准备。 对每次上机需要完成的题目进行认真的分析,列出实验具体步骤,写出符合题目要求的程序清单,准备出调试程序使用的数据,以便提高上机实验的效率。 (2)按照实验目的和实验内容以及思考题的要求进行上机操作。 录入程序,编译调试,反复修改,直到使程序正常运行,得出正确的输出结果为止。 (3)根据实验结果,写出实验报告。 实验报告应当包括实验题目,实验要求,运行结果,以及通过上机取得了哪些经验。 希望学生全面完成这些实验。 为了使学生在上机实验中得到更大的提高,任课教师可以结合具体情况灵活掌握实验题目与内容。 在学校实验条件允许的前提下,可把上机实验时间适当加长一些。 这对学生程序设计能力的提高更加有利。 2第一部分JAVA环境及工具介绍1.1Java概述Java不仅提供了一个丰富的语言和运行环境,而且还提供了一个的Java开发工具集(JavaDevelopersKits,简称JDK)。 编程人员和最终用户可以利用这些工具来开发java程序或调用Java内容。 通常我们以JDK(Sun所开发的一套Java开发工具)的版本来定义Java的版本。 JDK1.0版于1996年初公开,JDK1.1版于1997年初公开,JDK1.2版于1998年底公开。 基于市场行销的考量,Sun在JDK1.2版公开后旋即将Java改名为Java2,将JDK改名为Java2SoftwareDevelopmentKit(以下简称J2SDK)。 J2SDK(原称JDK)1.3于2000年4月公开,此版本仍称做Java2。 目前J2SDK1.4.2版已经发布并投入使用中,目前Java1.5测试版已发布。 Java2出现后,将分成Java2Platform EnterpriseEdition(简称J2EE)、Java2PlatformStandardEdition(简称J2SE)、Java2PlatformMicroEdition(简称J2ME)。 J2EE适用于服务器,目前已经成为企业运算、电子商务等领域中相当热门的技术;J2SE适用于一般的计算机;J2ME适用于消费性电子产品。 除了这三者之外,JavaCard依然是独立的一套标准。 随着应用领域的不同,Java有许多API(Application ProgrammingInterface),这些API分成三大类Java Core API由Sun制定的基本API,任何Java平台都必须提供。 Java Standard Extension API(javax)由Sun制定的扩充API,Java平台可以选择性地提供或加装。 厂商或组织所提供的API由各家公司或组织所提供。 其中Core API和StandardExtensionAPI已经逐渐涵盖了大部份的信息应用领域,例如多媒体、数据库、Web、企业运算、语音、实时系统、网络、电话、影像处理、加解密、GUI、分布式运算.。 如果你有某项需求尚未有标准的Java API可遵循,你可以向Sun提出制定新API的请求。 经过审核之后,你的要求可能会通过、驳回.等。 如果通过,就会开始进入制定API的程序。 Java API的制定过程因为公开,J2EE、J2SE、J2ME及CoreAPI的关系见下图图1.1J2EE、J2SE、J2ME及CoreAPI的关系且经过许多业界技术领先公司的共同参与,所以相当完善而优异。 和Java标准相关的任何第一手资料,你都可以在.javasoft.取得。 31.2DOS环境J2SDKSUN的Java不仅提了一个丰富的语言和运行环境,而且还提了一个的Java开发工具集(JDK)。 开发人员和最终用户可以利用这个工具来开发java程序。 JDK简单易学,可以通过任何文本器(如Windows记事本、UltrEdit、Editplus、FrontPage以及dreamweaver等)编写Java源文件,然后在DOS状况下利通过javac命令将Java源程序编译成字节码,通过Java命令来执行编译后的Java文件,这能带给DOS时代程序员美好的回忆。 Java初学者一般都采用这种开发工具。 从初学者角度来看,采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想。 JDK的另一个显著特点是随着Java(J2EE、J2SE以及J2ME)版本的升级而升级。 但它的缺点也是非常明显的,就是从事大规模企业级Java应用开发非常困难,不能进行复杂的Java软件开发,也不利于团体协同开发。 1.2.1建立Java开发环境 (1)下载Java JDK.使用版本J2SE的Java2J2SE5.0(1.5.0)。 可以通过IE或NetScape浏览器浏览网址Java.sun./j2se,根据提示可以下载支持Microsoft Windows操作系统的JAVA2SDK.exe到本地硬盘或从CD复制到本地硬盘. (2)安装JavaJDK.图1.2J2SE1.5.0安装界面从硬盘中或从光盘(如JAVAII光盘)中运行jdk-1_5_0-windows-i586.exe,根据提示可以选择安装文件夹如D:jdk1.5.0,然后根据提示进行安装,如上图。 安装完成后得到如下的文件和目录结构。 4图1.3是j2sdk1.5.0的目录结构。 (3)配置JavaSDK.Windows98/ME/XP:简单的方法就是选择开始运行sysedit,这会显示一个实用程序的界面。 图1.4系统配置器在这里可以设置环境变量.设置项目如下修改autocexe.bat就是修改自动批处理文件。 添加set PATH=jdk安装目录bin;%path%set CLASSPATH=.;jdk安装目录lib如set PATH=D:jdk1.5.0bin;%path%;set CLASSPATH=.;D:jdk1.5.0jrelib;set JAVA_HOME=D:jdk1.5.0/你安装J2SE的目录Windows2000操作系统:打开系统设置,按Winkey+Break或右击“我的电脑”,选属性,5选择高级-系统环境。 同样设置以上的系统环境变量,设置完JDK路径后,任何地方皆可执行Java原始程序代码。 其他操作系统的安装和配置可以参考以上的系统环境变量进行配置。 (4)测试配置写一个简单的java程序来测试J2SDK是否已安装成功public classhellopublic staticvoid main(String args)System.out.println(Hello);将程序保存为文件名为hello.java的文件。 打开命令提示符窗口,进入到hello.java所在目录,键入下面的命令javac hello.javajava hello此时若输出出来hello则安装成功,若没有打印出这句话,仔细检查以上配置是否正确。 注意系统文件夹选项中应确定“隐藏已知文件类型的扩展名”不勾选。 1.2.2JDK开发环境中常用工具介绍下面将介绍一些主要Java工具的使用,在Java环境中的Java工具列表如下所示*appletviewer小应用程序浏览器*java解释器*javac编译器*javah头文件生成器*javadocAPI文档生成器*javap类文件反汇编器*jdb Java语言调试器这些文件包括在d:jdk1.5.0bin目录中,并可以在任何目录中运行,前提是你在设置运行程序的系统中设置了路径。 1.javac编译器Javac编译器读取Java源代码,并将其编译成字节代码,调用Javac的命令行如下d:userjavacoptionsfilename.java表1.1部分选项选项功能-classpathpath此选项用于设定路径,在该路径上Javac寻找需被调用的类。 该路径是一个用分号分开的目录列表。 -ddirectory此选项指定一个根目录。 该目录用来创建反映软件包继承关系的目录数。 -g此选项在代码产生器中打开调试表,以后可凭此调试产生字节代码。 -此选项告诉javac优化由内联的static、final以及privite成员函数所产生的代码。 6-verbose此选项告知Java显示出有关被编译的源文件和任何被调用类库的信息。 例如d:userjavacverbose JPrg.java将生产字节文件JPrg.class。 值得注意的是,和Java解释器不同,Javac编译器期望它正在编译的文件具有扩展名.java。 2.java解释器Java解释器可用来直接解释执行Java字节代码,具体命令行格式如下C:java optionsclassName argumentsclassName必须包括所有软件包信息。 不仅有类名本身,还有Java解释器所期望的类名(不是Java字节代码的文件名),所有在解释器环境下运行的类都必须包括解释器第一次调用时所需的main成员函数,用以传递命令所带的变量。 options包括了Java解释器的所有选项,如:-classpathpath此选项重写CLASSPATH环境变量,告诉Java在哪里能找到类库。 如果其中用冒号分开,则可能包含多个目录等。 3.appletviewer小应用程序浏览器appletviewer提供了一个Java运行环境,在其中可测试小应用程Applet。 appletviewer读取包含小应用程序的HTML文件并在一个窗口中运行它们。 其他工具详见参考资料。 1.3Java开发环境介绍 一、Editplus软件EditPlus是一个32位的文字工具,适合用来网页与程序的撰写。 它可以将常用语法以鲜明色彩强调的方式显示,让你在使用上更能得心应手。 EditPlus是共享软件,它的官方网址是:.editplus.。 也可以在网上下载汉化破解绿色版。 EditPlus是一套在Windows环境下的文字程序。 它不仅可以做为取代“记事本”的一个好选择,还可以作为程序设计师及网页制作的撰写工具。 它以鲜明色彩显示文字语法的方式,让使用者方便撰写HTML,CSS,Php,Asp,Perl,C/C+,Java,JavaScript,VBScript以及其它的程序语言;使用者可以使用其预设的语法色彩或者也可以依个人的喜好订色彩。 由于EditPlus仅仅是一个软件,而J2SDK通常是在命令行模式下运行的Java开发工具,但是如果J2SDK安装目录比较深,或者程序设计人不习惯用命令行模式操作,则操作起来会比较麻烦。 所以在java程序时,需要对EditPlus进行配置才能直接编译、运行java程序。 用EditPlus的用户工具的功能很容易就可以解决这个问题。 方法如下1.点击EditPlus的“工具/配置用户工具”菜单,在弹出的窗口中的“组和工具项目”下拉列表中选择一个组,点“组名称”按钮,为该组起一个标志性名称。 2.点击“添加工具/应用程序”按钮,将“菜单文本”设置为“编译”,点击“命令”栏右边的按钮,找到“javac.exe”文件的存放路径,并打开它。 点击“参数”栏右边的向下箭头,选择“文件名”。 点击“初始目录”栏右边的按钮,选择“文件目录”。 3.将“捕获输出”复选框选中。 (此为关键之处)7图1.5配置编译java功能4.再次点击“新工具/程序”按钮,将“菜单文本”设置为“运行”,点击“命令”栏右边的按钮,找到“java.exe”文件的存放路径,并打开它。 点击“参数”栏右边的向下箭头,选择“不带扩展名的文件名”。 点击“初始目录”栏右边的按钮,选择“文件目录”。 5.将“捕获输出”复选框选中。 (此为关键之处)6.确定。 图1.6配置运行java application功能如果要运行java Applet小程序,则需要配置,选择appletviewer.exe命令。 8图1.7配置运行javaApplet功能注意1.用Editplus对Java文件进行编译前一定要先保存。 2.配置运行java application功能时,选择“不带扩展名的文件名”,而配置运行javaApplet功能时,选择“文件名”,是带扩展名的。 3.Applet运行时,运行的文件是html文件,而不是java编译后的class文件。 二、JCreator介绍JCreator是一个Java程序开发工具,也是一个Java集成开发环境(IDE)。 无论你是要开发Java应用程序或者网页上的Applet元件都难不倒它。 在功能上与Sun公司所公布的JDK等文字模式开发工具相较之下来得容易,还允许使用者自订义操作窗口界面及无限Undo/Redo等功能。 JCreator为用户提供了相当强大的功能,例如项目管理功能,项目模板功能,可个性化设置语法高亮属性、行数、类浏览器、标签文档、多功能编绎器,向导功能以及完全可自定义的用户界面。 通过JCreator,我们不用激活主文档而直接编绎或运行我们的JAVA程序。 JCreator能自动找到包含主函数的文件或包含Applet的Html文件,然后它会运行适当的工具。 在JCreator中,我们可以通过一个批处理同时编绎多个项目。 JCreator的设计接近Windows界面风格,用户对它的界面比较熟悉。 其最大特点是与我们机器中所装的JDK完美结合,是其它任何一款IDE所不能比拟的。 它是一种初学者很容易上手的Java开发工具,缺点是只能进行简单的程序开发,不能进行企业J2EE的开发应用。 9图1.8集成的、可视化环境JCreatorJCreator依赖JDK,它与JDK完美结合,是其它任何一款IDE所不能比拟的。 他只有1.9M左右,由于依赖JDK.须进行配置才能运行。 三、集成开发环境EclipseEclipse是替代IBM VisualAge forJava(以下简称IVJ)的下一代IDE开发环境,但它未来的目标不仅仅是成为专门开发Java程序的IDE环境,根据Eclipse的体系结构,通过开发插件,它能扩展到任何语言的开发,甚至能成为图片绘制的工具。 目前,Eclipse已经开始提供C语言开发的功能插件。 更难能可贵的是,Eclipse是一个开放源代码的项目,任何人都可以下载Eclipse的源代码,并且在此基础上开发自己的功能插件。 也就是说未来只要有人需要,就会有建立在Eclipse之上的COBOL,Perl,Python等语言的开发插件出。 同时可以通过开发新的插件扩展现有插件的功能,比如在现有的Java开发环境中加入Tomcat服务器插件。 可以无限扩展,而且有着统一的外观,操作和系统资源管理,这也正是Eclipse的潜力所在。 可以这样讲Eclipse是目前用过的最好的,最智能化的Java开发软件。 它是websphere的基础.Eclipse的最新版本是.x.附带有各种语言包中国的用户可以从.eclipse上面下载eclipse的SdK,和中文语言包,解压缩的同一个目录下,就可以了。 例如把它们解压缩到d:Eclipse3目录下。 该软件是一个绿色软件,如果日后象删除,就直接删除这个目录就可以了。 在d:eclipse3目录下,运行eclipse.exe文件就可以启动。 10进去后就是主界面,如图1.6。 图1.9Eclipse界面虽然大多数用户很乐于将Eclipse当作Java IDE来使用,但Eclipse的目标不仅限于此。 Eclipse还包括插件开发环境(Plug-in DevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。 由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。 这种平等和一致性并不仅限于Java开发工具。 尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C+、COBOL和Eiffel等编程语言的插件已经可用,或预计会推出。 Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。 下面举一个简单的例子,我们将创建并运行一个“Hello,world”应用程序。 使用Java透视图,右键单击“Hello”项目,选择New=Class,如下图1.7所示。 在随后出现的对话框中,键入“Hello”作为类名称。 在“Which methodstubs wouldyou liketo create?”下面,选中“public staticvoid main(Stringargs)”复选框,然后按Finish。 11图1.10New Class定义这样将在器区域创建一个包含Hello类和空的main()方法的.java文件,如下图所示。 然后向该方法添加如下代码(注意其中i的声明是有意省略了的)图1.11HelloWorld.java您会在键入时注意到Eclipse器的一些特性,包括语法检查和代码自动完成。 当您键入开括号或双引号时,Eclipse会自动提供配对的符号,并将光标置于符号对之内。 在其他情况下,您可以通过按Ctrl-Space来调用代码自动完成功能。 代码自动完成提供了上下文敏感的建议列表,您可通过键盘或鼠标来从列表中选择。 这些建议可以是针对某个特定对象的方法列表,也可以是基于不同的关键字(比如for或while)来展开的代码片12断。 语法检查依赖增量编译。 每当您保存代码,它就在后台接受编译和语法检查。 默认情况下,语法错误将以红色下划线显示,一个带白“X”的红点将出现在左边沿。 其他错误在器的左边沿通过灯泡状的图标来指示;这些就是器或许能为您修复的问题即所谓的Quick Fix(快速修复)特性。 上面的代码例子在for语句后面有一个灯泡状图标,因为i的声明被省略了。 双击该图标将调出建议的修复列表。 在此例中,它将提供创建一个类字段i、一个局部变量i或一个方法参数i的建议;单击其中的每一个建议都会显示将要生成的代码。 图1.12显示了该建议列表和建议创建一个局部变量之后生成的代码。 图1.12HelloWorld.java双击该建议就会把建议代码插入到代码中的恰当位置。 一旦代码无错误地编译完成,您就能够从Eclipse菜单上选择Run来执行该程序(注意这里不存在单独的编译步骤,因为编译是在您保存代码时进行的。 如果代码没有语法错误,它就可以运行了)。 这时会出现一个具有适当默认设置的Launch Configurations对话框;请按右上角的Run按钮。 一个新的选项卡式窗格将出现在下面的窗格(控制台)中,其中显示了程序的输出,如图1.13所示。 13图1.13运行HelloWorld也可以在Java调试器中运行程序。 首先双击器视图左端的灰色边沿,从而在调用System.out.println()之后的main()System.out.println()中设置一个断点。 一个蓝色的点将会出现在那里。 然后从Run菜单上选择Debug。 正如上面描述的,这时会出现一个Launch Configurations对话框。 请选择Run。 透视图将自动切换到Debug透视图,其中具有许多有趣的新视图,如图1.14所示图1.14运行Debug首先,请注意该透视图左上角的Debug视图。 这个视图显示调用堆栈,并且标题栏中有一个工具栏,它允许您控制程序的执行,包括继续、挂起或终止程序、跟踪下一个语句、单步执行下一个语句,或者从方法返回。 14右上角的窗格包含许多选项卡式的视图,包括Variables、Breakpoints、Expressions和Display。 这里我单击了Variables视图,以便我们能够看到i的当前值。 可以通过上下文敏感的帮助,获得关于这些视图的更多信息单击视图的标题,然后按F1。 15第二部分Jav程序设计实验项目16一实验一Java编程环境 1、实验目的了解Java的配置环境,掌握Java Application的程序结构和开发过程,掌握Java程序的调试、运行过程。 2、实验内容 (1)JDK开发环境1)J2SDK1.6.0开发环境安装在“C:Program FilesJavajdk1.6.0”目录下。 2)设置环境变量PATH和JAVA_HOME、CLASSPATH(如果在autoexec.bat中没有进行设置)。 在在Windows XP下设置右键点击我的电脑,选择属性,选择高级选项卡,单击环境变量按钮,在系统变量找到path变量,单击按钮,把C:Program FilesJavajdk1.6.0bin添加到里面,与已有的内容用分号隔开。 在系统变量中单击新建按钮,在变量名文本框中输入名称JAVA_HOME,在变量值文本框中输入C:Program FilesJavajdk1.6.0在系统变量中单击新建按钮,在变量名文本框中输入名称CLASSPATH,在变量值文本框中输入.;C:Program FilesJavajdk1.6.0libtools.jar;C:ProgramFilesJavajdk1.6.0jrelibrt.jar;进入命令行(MS-DOS)方式,进行如下设置SET PATH=C:Program FilesJavajdk1.6.0bin;%PATH%SET CLASSPATH=.;%JAVA_HOME%lib;%JAVA_HOME%libtools.jarSET JAVA_HOME=C:Program FilesJavajdk1.6.0 (2)编写一个Application程序,显示“Wele toJava Programming”1)打开器。 2)键入如下程序import java.io.*;public classHelloWorld1public staticvoid main(String arg)System.out.println(Wele toJava Programming);3)检查无误后(注意大小写)保存文件。 可将文件保存在“D:Java”目录中,注意文件名为HelloWorld1.java。 4)进入命令行(MS-DOS)方式,设定当前目录为“D:Java”,运行Java编译器D:Javajavac HelloWorld1.java5)如果输出错误信息,则根据错误信息提示的错误所在行返回EditPlus器进行修改。 常见错误是类名与文件名不一致、当前目录中没有所需源程序、标点符号全角等。 如果没有输出任何信息或者出现“deprecation”警告,则认为编译成功,此时会在当前目录中生成HelloWorld1.class文件。 6)利用Java解释器运行这个Java Application程序,并查看运行结果。 D:Javajava HelloWorld 13、思考题17 (1)什么是Java虚拟机?它的作用是什么? (2)Java Application程序与Java Applet程序的不同之处有那些? 4、实验方案学生上机前应熟悉实验项目要求以及相应的Java知识,并完成程序设计,上机时在教师的指导下进行、调试、修改直至通过。 如果本次指定实验项目未能做完,课后继续调试。 18二实验二Java语言基础 1、实验目的掌握Java基本语言基础基本数据类型、操作符、流程控制语句。 2、实验内容 (1)运行下面的程序,掌握变量定义与数据类型。 import java.io.*;public classSimpleTypespublic staticvoid main(String args)byte b=055;short s=0x55ff;int i=1000000;long l=3615L;char c=c;float f=0.23F;double d=0.7E-3;boolean bool=true;System.out.println(b=+b);System.out.println(s=+s);System.out.println(i=+i);System.out.println(l=+l);System.out.println(c=+c);System.out.println(f=+f);System.out.println(d=+d);System.out.println(bool=+bool);将实验内容中的long l=3615L;改为long l=3615;会出现什么情况?为什么?提示缺省的整型常量为int型,long型常量后面要加l或L。 将实验内容中的float f=0.23F;改为float f=0.23;会出现什么情况?为什么?提示缺省的浮点型常量为双精度(double)型,单精度(float)型常量后面加f或F。 (2)运行下面的程序,掌握算术运算。 import java.io.*;public classArithmaticOppublic staticvoid main(String args)int a=5+4;/a=9int b=a*2;/b=18int c=b/4;/c=4int d=b-c;/d=14int e=-d;/e=-14int f=e%4;/f=-2double g=18.4;double h=g%4;/h=2.419int i=3;int j=i+;/i=4,j=3int k=+i;/i=5,k=5System.out.println(a=+a);System.out.println(b=+b);System.out.println(c=+c);System.out.println(d=+d);System.out.println(e=+e);System.out.println(f=+f);System.out.println(g=+g);System.out.println(h=+h);System.out.println(i=+i);System.out.println(j=+j);System.out.println(k=+k);分析实验内容中的语句int j=i+;int k=+i;的执行过程。 提示j=i i=i+1以及i=i+1k=i (3)运行下面的程序,掌握关系运算与逻辑运算import java.io.*;public classRelationAndConditionOp2public staticvoid main(String args)int a=25,b=3;boolean d=a5);System.out.println(e+!=0&+a+/+e+5=+d);int f=0;d=(f!=0&a/f5);System.out.println(f+!=0&+a+/+f+5=+d);d=(f!=0&a/f5);System.out.println(f+!=0&+a+/+f+5=+d);分析实验内容中的语句d=(f!=0&a/f5);和语句d=(f!=0&a/f5);有什么区别?提示对于快速逻辑与运算,当运算符左侧表达式的值为true时,不再计算右侧表达式的值。 (4)利用循环语句编程,找出所有的水仙花数并输出。 其中水仙花数是三位数,它的各位数字的立方和等于这个三位数本身,例如371=33+73+13,371就是一个水仙花数。 源码如下public classSxhpublic staticvoid main(Stringargs)20int a,b,c;for(int i=100;i=3)源码如下public classFibnpublic staticvoid main(String args)int i;int f=new int10;f0=f1=1;for(i=2;i10;i+)fi=fi-1+fi-2;for(i=1;i=10;i+)System.out.println(F+i+=+fi-1);根据实验结果,分析程序运行情况。 3、思考题 (1)定义变量的作用是什么? (2)Java运算符的优先级与结合性是怎样的? 4、实验方案学生上机前应熟悉实验项目要求以及相应的Java知识,并完成程序设计,上机时在教师的指导下进行、调试、修改直至通过。 如果本次指定实验项目未能做完,课后继续调试。 21三实验三方法和数组 1、实验目的 1、通过实验掌握数组的使用,为以后的Java程序编程打下基础。 2、掌握Java实例方法的定义和调用。 2、实验内容掌握一维数组和多维数组的定义和使用方式。 1统计一维数组里大于0的元素个数、小于0的元素的个数以及等于0的元素的个数并输出。 /Count.javapublic class Countpublic staticvoid main(String args)/声明一个整型数组int a=1,-3,4,-5,0,9,12;/声明三个变量,分别来统计整数、零、负数的个数int countZero=0,countPos=0,countNeg=0;int i;/得到数组的长度i=a.length();/循环判断数组中每个元素for(int j=0;j0)countPos+;/元素大于零else countNeg+;/元素小于零/输出统计结果System.out.println(“The numberof zerois:”+countZero);System.out.println(“The numberof plusis:”+countPos);System.out.println(“The numberof negativeis:”+countNeg);1)总结一维数组的声明方式。 2)尝试从键盘输入数组,并统计整数、负数和零的个数输出。 2将矩阵A43存放到数组里,并将矩阵转制(行和列互换)输出。 /需要定义一个43的数组来存放矩阵A43,定义一个34的数组来存放矩阵A43的转制矩阵。 /Matrix.javapublic classMatrixpublic staticvoid main(String args)22/声明一个43数组int a=1,2,3,2,4,6,4,8,12,8,16,24;/声明一个34数组int b=new int34;/声明二个循环变量int i,j;/循环转制矩阵for(j=0;j4;j+)for(i=0;i3;i+)bij=aji;/行列互换/输出转制前的矩阵System.out.println(转制前的矩阵:);for(j=0;j4;j+)for(i=0;i3;i+)System.out.print(a+j+i+=+aji+);System.out.println();/输出转制后的矩阵System.out.println(转制后的矩阵:);for(j=0;j3;j+)for(i=0;i4;i+)System.out.print(b+j+i+=+bji+);System.out.println();1)总结多维数组的定义方法2)考虑如何仅使用一个44的数组来实现矩阵的转制。 3编写程序,定义一个不规则的二维数组,输出其行数和每行的元素个数,并求数组所有元素的和。 public classArrpublic staticvoid main(String args)int b=11,21,22,31,32,33,34;int sum=0;23/输出数组的长度System.out.println(数组b的行数+b.length);for(int I=0;I 4、新建Shape项目,添加Circle类,编写如下代码,注意注释,思考理解。 public classCircleprivate float radius;/半径成员变量final floatPi=3.14159f;/成员常量Circle(floatr)/构造方法,实现创建对象时对成员变量半径的初始化if(r=0)System.out.println(给定的数据小于0,半径默认为1);this.radius=1;elsethis.radius=r;void setRadius(float radius)/属性半径的的写方法if(radius=0)System.out.println(给定的数据小于0,半径默认为1);this.radius=1;elsethis.radius=radius;/属性半径,用“this”与形参区分float getRadius()/半径的读方法return this.radius;float getCir()/获得周长的方法return2*Pi*radius;24float getArea()/获得面积的方法return Pi*radius*radius; 5、在主类的主方法中编写代码,测试结果。 Circle c=new Circle(3.5f);/创建对象System.out.println(半径为+c.getRadius()+的圆的周长是+c.getCir()+,面积是+c.getArea();c.setRadius(12.56f);/利用set方法修改半径System.out.println(半径为+c.getRadius()+的圆的周长是+c.getCir()+,面积是+c.getArea(); 6、参照上面代码,为Shape项目添加长方形Rectangle类,在主方法中利用此类求解长25.6,宽18.3的长方形的周长和面积。 7、新建项目MonsterGame,添加Monster类,代码如下public classMonsterString name;int healthPower=100;/生命int defense=10;/防御int attack=10;/攻击Monster(String name,int heal,int att,int den)=name;this.healthPower=heal;this.attack=att;this.defense=den;void doAttack(Monster target)/攻击者的攻击力要大于攻击对象的防御力,才能对攻击对象造成创伤if(target.defense 8、在主类的主方法中编写如下代码,观察运行结果。 Monster attacker=new Monster(潇潇,100,10,10);Monster defender=new Monster(娇娇,100,10,9);System.out.println(+被+25+攻击前的生命力:+defender.healthPower);attacker.doAttack(defender);System.out.println(+被++攻击前的生命力:+defender.healthPower); 3、思考题 (1)二维数组中的length表示什么 (2)数组初始化有几种方式,各种数据类型的默认初始化值是什么? (3)方法的调用有集中方式? 4、实验方案学生上机前应熟悉实验项目要求以及相应的Java知识,并完成程序设计,上机时在教师的指导下进行、调试、修改直至通过。 如果本次指定实验项目未能做完,课后继续调试。 26四实验四类和对象 1、实验目的掌握java类设计的基本方法,掌握继承实现类的复用,熟悉变量的隐藏和方法的覆盖。 2、实验内容 (1)编程创建一个Point类,在其中定义两个变量表示一个点的坐标值,再定义构造函数初始化为坐标原点,然后定义一个方法实现点的移动,再定义一个方法打印当前点的坐标。 并创建一个对象验证。 提示关键代码如下void move(int newX,int newY)x=newX;y=newY;void print()System.out.println(name+:x=+x+y=+y);p.print();p.move(50,50);System.out.println(*after moving*);p.print();/call methodof anobject (2)根据点类Point通过继承定义圆类Circle,完成构造方法、设置读取半径方法、修改求面积方法,添加求体积方法。 (3)分析调试下列程序,掌握java继承的特点。 classAString name1=zhangsan;int a=10;class BextendsAString name2=lisi;int b=20;classCextends BString name3=wangwu;int c=30;public classTestApublic staticvoid main(Stringargs)C =new C();System.out.println(.name1+.name2+.name3);System.out.println(.a+.b+.c);27 (4)定义图形类shape,包含设置图形类别、获取图形类别、显示类别信息和获取图形面积等方法。 定义图形类子类Circle,包含设置半径、获取半径、计算面积和周长等方法。 并用测试类测试。 参考代码public classShapeString type;/图形类别public voidsetType(String type)this.type=type;public StringgetType()return type;/显示类别信息public voidshowInfo()System.out.println(type);public voidgetArea()/形状的类别未确定,无法计算面积,方法体为空public classCircle extendsShapedouble radius;/圆的半径public voidsetRadius(double radius)this.radius=rad
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 芳烃生产线改造工程规划设计方案
- 硅氧生产线项目实施方案
- 电力安全法规及现场作业规范知识测试试卷及答案
- 工业弃渣综合利用项目规划设计方案
- 医美陪诊面试题及答案
- 美术展览技能题库及答案
- 2025年计划生育妇科手术技术模拟测试卷答案及解析
- 2025年泌尿外科常见疾病手术操作试卷答案及解析
- 软件开发历年真题及答案
- 2025年呼吸内科疾病治疗方案设计模拟考试卷答案及解析
- 田径短跑教学课件
- 2025-2026学年教科版(2024)小学体育与健康二年级全一册教学计划及进度表(第一学期)
- 浙江省名校协作体2025-2026学年高二上学期开学联考英语试卷(PDF版含答案含听力原文无音频)
- GJB3243A-2021电子元器件表面安装要求
- 员工思想培训课件内容
- 时尚传播课件
- 电焊机安全知识培训课件
- 反恐知识安全培训课件
- 2025年湖北省中考语文真题(含答案)
- 2025年事业单位笔试-贵州-贵州药事管理(医疗招聘)历年参考题库含答案解析
- 战术基础动作低姿匍匐
评论
0/150
提交评论