Java实验要求.doc_第1页
Java实验要求.doc_第2页
Java实验要求.doc_第3页
Java实验要求.doc_第4页
Java实验要求.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JAVA实验要求实验(一)一、目的1、 熟悉JAVA开发环境。2、 掌握JAVA编译命令,掌握JAVA执行命令。3、 编写简单的JAVA程序。二、步骤1、 查看JAVA安装目录,观察bin目录下的可执行文件,观察lib目录下的库文件(参见书P18页)2、 查看环境变量Path,Classpath的设置内容3、 编写HelloWorld程序,执行通过4、 改变HelloWorld程序,改为输出字符串My First Java Program5、 编写例3-26、 编写例3-3实验(二)一、准备为了成功地完成本练习,你必须能够编译并运行Java 程序,并且需要熟悉有关类和对象的面向对象的概念和引用的概念。二、任务1、创建一个类和相应的对象1) 一个点可用x 和y 坐标描述。定义一个称为MyPoint 的类来表达上述想法。你应该称这个文件为什么?2.)在你的类中编写一个类方法,然后为类型MyPoint 声明两个变量,将变量称为start 和end;用new MyPoint()创建对象并分别将引用值赋予变量start 和end;3)将值10 赋予对象start 的成员x 和y;4)将值20 赋予对象end 的x 值,将值20 赋予对象end 的y 值。5)分别打印MyPoint 对象(start 和end)的成员值(x 和y)。6)编译并运行程序。2 、检验引用赋值使用你在前一个练习中MyPoint 类,增加代码到main()方法,以完成下列事项:1)为类型MyPoint 声明一个新的变量,称之为stray。将现存变量end 的引用值赋予stray;2)打印end 和stray 变量的成员x 和y 的值;3)赋予变量stray 的成员x 和y 新的值;4)打印end 和stray 的成员的值; 编译并运行MyPoint 类。end 的值反映了stray 内的变化,表明两个变量都引用了同一个MyPoint 对象;5)将start 变量的成员x 和y 赋予新的值;6)打印start 和end 的成员值; 再次编译并运行MyPoint 类,start 的值仍然独立于stray 和end 的值,表明start 变量仍然在引用一个MyPoint 对象,而这个对象与stray 和end 引用的对象是不同的。实验(三)练习目标你将编写、编译并运行两个使用标识符、表达式和控制结构的算法程序。一、准备为成功地完成本练习,你必须具备编译和运行Java 程序的能力,并且熟悉流程控制构造。二、任务1 、创建一个阶乘应用程序一个数X 的阶乘(通常记作X!)等于X*(X-1)*(X-2)*1。例如4!等于4321=24。创建一个称作Factor 的应用程序,利用该应用程序可打印2,4,6 和10 的阶乘。2 、求解一个几何题程序编写一个称作hypotenuse 的Java 软件程序,从已知直角三角形的直角边计算最长边。实验(四)练习目标在定义并初始化数组后,你将在程序中使用数组。一、准备为成功地完成本练习,请务必理解基本的矩阵概念并了解如何定位一个数组以获取它的值。二、任务1、基本数组的使用1)创建一个称作BasicArray 的类,在.main()方法中声明两个变量,一个是thisArray ,另一个是thatArray,它们应属类型array of int。2)创建一个数组,它有10 个int 值,范围从1 至10。分配这个第三数组的引用给变量thisArray。3)使用for()循环打印thisArray 的所有值。如何控制循环的次数?4)编译并运行程序。多少值被打印?这些值是什么?5)对每个thisArray 的元素,建立它的值为索引值的阶乘。打印数组的值。6)编译并运行程序。7)分配thisArray 的引用给变量thatArray。打印thatArray 的所有元素。8)编译并运行程序。tyatArray 的多少值被显示?这些值是什么?它们来自何处。9)修改thisArray 的某些元素,打印thatArray 的值。10)编译并运行程序;在thatArray 的值中,你注意到了什么?11)创建一个有20 个int 值的数组。分配新数组的引用给变量thatArray,打印thatArray 的值。12)编译并运行程序。每个数组有多少值被显示? 这些值是什么?13)拷贝thisArray 的值给thatArray 。你将使用什么方法调用? 你将如何限制拷贝元素的数量? thatArray 的元素10 至19 有什么变化?14)打印thatArray 的值。15)编译并运行程序。你所显示的值都是正确的吗?如果不是,你知道有那些内容理解得不对吗?16)改变thatArray 的某些值;打印thisArray 和thatArray。17)编译并运行程序。这些值是你所期待的吗?2、数组的数组1)创建一个称作Array2D 的类,在main()方法中声明一个称作twoD 的变量,它应属类型array of array of int。2)创建一个元素类型为int 的数组, 该数组应包括4 个元素并被赋值到变量twoD 的elements0。3)编写两个嵌套for()循环语句以打印twoD 的全部值。以矩阵的格式安排输出 (可采用System.out.print()方法)。4)编译并运行程序。 你应该能发现此时出现了运行错误(空指针异常) ,这是因为twoD 的elements1 至 3未被初始化。5)分别创建包括5 个、6 个和7 个元素的int 数组,将这些数组的引用分别赋予twoD 的elements1,2和3;确认完成上述操作的代码是在第3 步所描述的嵌套for()循环之前插入的。6)编译并运行程序。这次你应该看到一个零值的非矩形布局。7)赋予twoD 数组的每个元素一个明显的非零值(提示:使用Math.random() 以获得随机值)。8)声明一个属类型array of int 的称作oneD 的变量。然后, 创建一个包括4 个元素的int 数组。将该数组的引用分别赋予数组array twoD 和oneD 的第一个元素。赋值后,打印oneD 和twoD 数组。9)编译并运行程序。请注意通过打印oneD 的值而显示的单个数组与twoD 数组的元素是相同的。3 、字谜游戏1)创建一个称作WordScrambler 的应用程序,它具有一个词数组(长度最大为8 个字符) ,用它可将一个词的字母拼凑(重排顺序) ,然后组成一个新词。2)允许使用者看到词的拼凑过程。实验(五)练习目的 会写、编译及运行三个程序,通过模仿使用银行帐目使用继承、构造函数及数据隐藏等面向对象概念。一、准备为了成功地完成该实验,必须理解类和对象的概念。二、任务一级实验:银行帐目1 创建一个类,Account.java,它定义银行帐目。决定应该做什么样的帐目,需要贮存什么样的数据,以及将用什么样的方法。2 使用一个包,bank,来包含类二级实验:帐目类型1 修改一级实验,因而会针对CheckingAccount 类的细节对Account 划分子类。2 允许检查帐目来提供溢出保护。三级实验:在线帐目服务1 创建一个简单的应用程序,Teller.java,它使用一级或二级实验来提供一个在线帐目开户服务。实验(六)练习目的 使用银行帐户模型和采用高级面向对象特征,如:内部类,矢量类和接口等,重写、编译并运行三个程序。一、准备为了成功地完成该实验,必须熟悉本模块及前面模块中所讲的面向对象概念。二、任务一级实验:修改银行帐户问题1 定义只包含两个方法deposit 和withdraw 的接口Personal。2 从模块5 中,运用Personal 接口来定义一套不同的帐户类型,重新定义类Account.Java。它必须能处理个人帐户,进一步分成支票和存款两个帐户。3 设计并开发提供保护的方法。例如,如果一个客户有一个存款和支票帐户,须确保支票帐户受存款帐户保护。二级实验:使用内部类1 创建一个叫做BasicArray 的类,声明并初始化一个叫做thisArray 的数组,它包含四个整数。2 创建一个名为Factorial 的类,它包含一个计算它的参数的阶乘的方法。3 从BasicArray 的主要方法创建Factorial 类的一个实例,然后调用其方法来计算四个整数中每一个的阶乘。4 编译并测试该程序。5 将Factorial 类中的所有东西都移到BasicArray 类中。Factorial 现在就是BasicArray 的一个内部类。6 编译并测试该程序。三级实验:将find 和delete 方法附加到MyVector 类中1 将Find 方法附加到MyVector 类中,它将返回被作为参数传递的元素的位置。如果未发现该参数,让方法返回-1。例如:$ java MyVectorFind 3.143.14 is located at index 1Number of vector elements is 4 and are:53.14Hi there!abcd$ java MyVectorFind cargs0=c, not found in vectorNumber of vector elements is 4 and are:53.14Hi there!abcd2 将delete 方法附加到MyVector 类中,该类将所有与参数相配的元素移走。方法必须返回true 或false:如果删除成功,为true;否则为false(元素存在或不存在于矢量中)。例如:$ java MyVectorDelete 3.14Elements 3.14 successfully deleted from vector.Number of vector elements is 3 and are:5Hi there!abcd实验(七)练习目的通过编写可以创建并处理异常的Java 软件程序,可以获得异常机制的经验。一、准备为了成功地完成该实验,必须理解处理运行时错误的异常的概念。二、任务一级实验:处理一个异常1. 使用第169 页上的样板异常程序在数组索引超出数组大小时创建一个异常。(或修改自己的程序以便创建一个异常。)2. 使用try 和catch 语句从异常进行恢复。二级实验:创建自己的异常使用模块5 中创建的bank 包并附加下述异常:AccountOverdrawnException当有了这个要取出比帐户上更多的钱的尝试时。InvalidDepositException当无效钱数(小于0)存入时。实验(八)练习目的在这个实验中,开发两个图形用户界面。一、准备为了成功地完成这个实验,必须理解图形用户界面的目的,掌握如何用布局管理器来创建图形用户界面。二、任务一级实验:创建计算器GUI创建下述GUI:二级实验:创建帐目GUI创建一个GUI,它能给模块5 中创建的Teller.Java 应用程序提供前端用户界面。需要研究一些本模块中没有描述的组件。(它们将在本课程的后面讲解)。实验(九)练习目标你将编写、编译和运行包含事件处理器的Calculator 图形用户界面 和Account 图形用户界面面的修改版本。一、准备为了很好地完成这个练习,你必须对事件模型是如何工作的有一个清晰的了解。二、任务水平1:创建一个Calculator 图形用户界面,第二部分1. 使用你在模块8 中创建的图形用户界面代码,编写一段事件代码,用来连接计算器的用户界面和处理计算器上的函数的事件处理器。水平3:创建一个Account 图形用户界面,第二部分1. 创建一个AccountEvent 类,类的对象在帐目发生改变时被激活。然后激活送往Bankmanager类的事件。根据你在模块8 中创建的Teller.java GUI 代码为起点进行练习。实验(十)练习目标在这个练习中,你将创建一个使用许多组件的复杂应用程序。一、准备为了很好地完成这个练习,你必须理解AWT 的目的、它的事件处理器以及它的图形特性。二、任务水平1: 创建绘图程序布局1. 用java.awt 包,创建一个Java 应用程序PaintGUI.java,它将添加显示在下图中的组件。2. 使用帮助菜单的对话框。水平3:创建绘图程序1. 以上图中的布局为指导,创建一个简单的绘图程序。包含一个使用GUI 的PaintHandler 类;使用事件处理来完成这个目标。2. 选取打印菜单选项时,使用java.awt.PrintJob 来打印创建的图形。实验(十一)练习目标在本实验中,你将编写、编译和执行两个在GUI 中使用Swing 组件的程序。一、准备为了更好地完成这个练习,你必须理解Swing 组件和AWT 组件的关系。二、任务水平1:创建一个基本的Swing 应用程序1. 使用文本编辑器,创建一个与前面所讨论的HelloSwing 类似的应用程序。2. 将一个图标与按钮相关联。(提示你可能需要使用ImageIcon 类。)3. 将一个提示框与按钮相关联,这样当鼠标移动到按钮之上时,会显示一个“JFCButton”的提示框。水平2:用Swing 组件创建一个文本编辑器1. 创建一个初始的JFrame,它包含一个JToolBar,TextArea 和JLabel。2. 将一个JMenuBar 与JFrame 关联起来。3. 创建JMenuBar 上的第一个菜单。创建一个标记为JMenu,其JMenuItems 包括New,Open,Save 和Close。4. 为每个条目增加一个加速键。使用标签的第一个字母。5. 为每个JMenuItem 创建一个匿名的ActionListener,用来处理事件并调用与每个事件对应的方法。6. 将带有About JMenuItem 的HelpJMenu 加入到JMenuBar。分别为H 和A 增加快捷键。7. 在与About JMenuItem 相关联的事件处理器中创建一个模式对话框。8. 在工具条上创建4 个JButton,标为New,Open,Save 和About。9. 为工具条上的每个按钮增加一个带有适当消息的提示框。此外,创建一个匿名ActionListener 来处理适当的事件。10.保存并编译程序。实验(十二)练习目标 在本实验中,你将熟悉Applet 编程,尤其是用于屏幕更新和刷新的paint()方法。一、准备为了成功地完成本实验,你必须能够用浏览器来显示一个Applet。二、任务水平1:编写一个Applet1. 打开一个新的外壳程序或Command Tool 窗口。2. 用一个文本编辑器,键入HwMouse.java 程序或从course_example 目录拷贝它。3. 修改这个程序,使得你在Applet 中点击时,它可以循环显示三种不同的消息。4. 编译HwMouse.java.java 程序c:student HwMouse.java5. 用一个文本编辑器, 创建一个HwMouse.html 文件, 文件中含有调用HwMouse.class 程序的标记。6. 用appletviewer 命令测试你的Applet。c:student HwMouse.html水平2:创建同心的正方形1. 创建一个Applet,Squares.java,它产生一系列如下图的同心正方形(或圆形):2. 试图使每个正方形(或圆形)为一种不同的颜色。如果你导入java.awt.Color 类,则可用setColor 方法对Java applet 加入色彩。import java.awt.Color;. . .public void paint(Graphics g) g.setColor(Color.blue);g.drawRect(5, 5, 50, 50);. . .水平3:创建一个滚动的Java applet1. 编写一个Applet,显示一幅图像,并在鼠标经过该图像时播放一个声音。实验(十三)练习目标在这个练习中,你将通过编写一些多线程的程序来熟悉多线程的概念。创建一个多线程的Applet。一、准备为了很好地完成这个练习,你必须理解本模块中讨论的多线程概念。二、任务水平1:创建三个线程1. 创建简单的程序ThreeThreads.java,它将创建三个线程。每个线程应当显示它所运行的时间。(考虑使用Date()类)水平2:使用动画1. 创建一个Applet ThreadedAnimation.java,它读取10 幅DukeTM waving 图像(在graphics/Duke 目录中)并按照Duke 波动的顺序来显示它们。2. 用MediaTracker 类使这些图像的装载更平滑。3. 允许用户连续点击鼠标来停止和启动动画。实验(十四)练习目标在这个练习中,你将熟悉通过编写执行文件I/O 的程序来熟悉流式I/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论